Loading fs/ceph/dir.c +5 −19 Original line number Diff line number Diff line Loading @@ -68,23 +68,6 @@ int ceph_init_dentry(struct dentry *dentry) return 0; } struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry) { struct inode *inode = NULL; if (!dentry) return NULL; spin_lock(&dentry->d_lock); if (!IS_ROOT(dentry)) { inode = d_inode(dentry->d_parent); ihold(inode); } spin_unlock(&dentry->d_lock); return inode; } /* * for readdir, we encode the directory frag and offset within that * frag into f_pos. Loading Loading @@ -1100,6 +1083,7 @@ static int dir_lease_is_valid(struct inode *dir, struct dentry *dentry) static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) { int valid = 0; struct dentry *parent; struct inode *dir; if (flags & LOOKUP_RCU) Loading @@ -1108,7 +1092,8 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) dout("d_revalidate %p '%pd' inode %p offset %lld\n", dentry, dentry, d_inode(dentry), ceph_dentry(dentry)->offset); dir = ceph_get_dentry_parent_inode(dentry); parent = dget_parent(dentry); dir = d_inode(parent); /* always trust cached snapped dentries, snapdir dentry */ if (ceph_snap(dir) != CEPH_NOSNAP) { Loading @@ -1132,7 +1117,8 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) } else { ceph_dir_clear_complete(dir); } iput(dir); dput(parent); return valid; } Loading fs/ceph/super.h +0 −1 Original line number Diff line number Diff line Loading @@ -957,7 +957,6 @@ extern void ceph_dentry_lru_touch(struct dentry *dn); extern void ceph_dentry_lru_del(struct dentry *dn); extern void ceph_invalidate_dentry_lease(struct dentry *dentry); extern unsigned ceph_dentry_hash(struct inode *dir, struct dentry *dn); extern struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry); extern void ceph_readdir_cache_release(struct ceph_readdir_cache_control *ctl); /* Loading Loading
fs/ceph/dir.c +5 −19 Original line number Diff line number Diff line Loading @@ -68,23 +68,6 @@ int ceph_init_dentry(struct dentry *dentry) return 0; } struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry) { struct inode *inode = NULL; if (!dentry) return NULL; spin_lock(&dentry->d_lock); if (!IS_ROOT(dentry)) { inode = d_inode(dentry->d_parent); ihold(inode); } spin_unlock(&dentry->d_lock); return inode; } /* * for readdir, we encode the directory frag and offset within that * frag into f_pos. Loading Loading @@ -1100,6 +1083,7 @@ static int dir_lease_is_valid(struct inode *dir, struct dentry *dentry) static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) { int valid = 0; struct dentry *parent; struct inode *dir; if (flags & LOOKUP_RCU) Loading @@ -1108,7 +1092,8 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) dout("d_revalidate %p '%pd' inode %p offset %lld\n", dentry, dentry, d_inode(dentry), ceph_dentry(dentry)->offset); dir = ceph_get_dentry_parent_inode(dentry); parent = dget_parent(dentry); dir = d_inode(parent); /* always trust cached snapped dentries, snapdir dentry */ if (ceph_snap(dir) != CEPH_NOSNAP) { Loading @@ -1132,7 +1117,8 @@ static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags) } else { ceph_dir_clear_complete(dir); } iput(dir); dput(parent); return valid; } Loading
fs/ceph/super.h +0 −1 Original line number Diff line number Diff line Loading @@ -957,7 +957,6 @@ extern void ceph_dentry_lru_touch(struct dentry *dn); extern void ceph_dentry_lru_del(struct dentry *dn); extern void ceph_invalidate_dentry_lease(struct dentry *dentry); extern unsigned ceph_dentry_hash(struct inode *dir, struct dentry *dn); extern struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry); extern void ceph_readdir_cache_release(struct ceph_readdir_cache_control *ctl); /* Loading