diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-29 17:01:02 +0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-29 17:01:02 +0800 |
commit | 43251dbd6ac278a8bdaaee43ec5e299c1a5dafdd (patch) | |
tree | 9366f7cfe1d63c906838712e18fff37d85739d6d | |
parent | 5b607ba862f30364aef0b0d40cab8afccf339616 (diff) | |
parent | d6b8bd679c9c8856fa04b80490765c43a4cb613b (diff) | |
download | lwn-43251dbd6ac278a8bdaaee43ec5e299c1a5dafdd.tar.gz lwn-43251dbd6ac278a8bdaaee43ec5e299c1a5dafdd.zip |
Merge tag 'ceph-for-5.2-rc7' of git://github.com/ceph/ceph-client
Pull ceph fix from Ilya Dryomov:
"A small fix for a potential -rc1 regression from Jeff"
* tag 'ceph-for-5.2-rc7' of git://github.com/ceph/ceph-client:
ceph: fix ceph_mdsc_build_path to not stop on first component
-rw-r--r-- | fs/ceph/mds_client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 6af2d0d4a87a..c8a9b89b922d 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -2121,9 +2121,10 @@ retry: if (inode && ceph_snap(inode) == CEPH_SNAPDIR) { dout("build_path path+%d: %p SNAPDIR\n", pos, temp); - } else if (stop_on_nosnap && inode && + } else if (stop_on_nosnap && inode && dentry != temp && ceph_snap(inode) == CEPH_NOSNAP) { spin_unlock(&temp->d_lock); + pos++; /* get rid of any prepended '/' */ break; } else { pos -= temp->d_name.len; |