struct inode *inode = temp->d_inode;
if (inode && ceph_snap(inode) == CEPH_SNAPDIR)
len++; /* slash only */
- else if (inode && ceph_snap(inode) == CEPH_NOSNAP)
+ else if (stop_on_nosnap && inode &&
+ ceph_snap(inode) == CEPH_NOSNAP)
break;
else
len += 1 + temp->d_name.len;
if (inode && ceph_snap(inode) == CEPH_SNAPDIR) {
dout(50, "build_path_dentry path+%d: %p SNAPDIR\n",
pos, temp);
- } else if (inode && ceph_snap(inode) == CEPH_NOSNAP) {
+ } else if (stop_on_nosnap && inode &&
+ ceph_snap(inode) == CEPH_NOSNAP) {
break;
} else {
pos -= temp->d_name.len;
dentry = d_find_alias(inode);
if (dentry) {
- path = ceph_mdsc_build_path(dentry, &pathlen, &pathbase, -1);
+ path = ceph_mdsc_build_path(dentry, &pathlen, &pathbase, 0);
if (IS_ERR(path)) {
err = PTR_ERR(path);
BUG_ON(err);