Loading drivers/staging/lustre/lustre/llite/dcache.c +7 −26 Original line number Diff line number Diff line Loading @@ -57,9 +57,6 @@ static void ll_release(struct dentry *de) LASSERT(de); lld = ll_d2d(de); if (!lld) /* NFS copies the de->d_op methods (bug 4655) */ return; if (lld->lld_it) { ll_intent_release(lld->lld_it); kfree(lld->lld_it); Loading Loading @@ -126,30 +123,13 @@ static int ll_ddelete(const struct dentry *de) return 0; } int ll_d_init(struct dentry *de) static int ll_d_init(struct dentry *de) { CDEBUG(D_DENTRY, "ldd on dentry %pd (%p) parent %p inode %p refc %d\n", de, de, de->d_parent, d_inode(de), d_count(de)); if (!de->d_fsdata) { struct ll_dentry_data *lld; lld = kzalloc(sizeof(*lld), GFP_NOFS); if (likely(lld)) { spin_lock(&de->d_lock); if (likely(!de->d_fsdata)) { de->d_fsdata = lld; __d_lustre_invalidate(de); } else { kfree(lld); } spin_unlock(&de->d_lock); } else { struct ll_dentry_data *lld = kzalloc(sizeof(*lld), GFP_KERNEL); if (unlikely(!lld)) return -ENOMEM; } } LASSERT(de->d_op == &ll_d_ops); lld->lld_invalid = 1; de->d_fsdata = lld; return 0; } Loading Loading @@ -300,6 +280,7 @@ static int ll_revalidate_nd(struct dentry *dentry, unsigned int flags) } const struct dentry_operations ll_d_ops = { .d_init = ll_d_init, .d_revalidate = ll_revalidate_nd, .d_release = ll_release, .d_delete = ll_ddelete, Loading drivers/staging/lustre/lustre/llite/llite_internal.h +3 −14 Original line number Diff line number Diff line Loading @@ -801,7 +801,6 @@ int ll_hsm_release(struct inode *inode); /* llite/dcache.c */ int ll_d_init(struct dentry *de); extern const struct dentry_operations ll_d_ops; void ll_intent_drop_lock(struct lookup_intent *); void ll_intent_release(struct lookup_intent *); Loading Loading @@ -1189,7 +1188,7 @@ dentry_may_statahead(struct inode *dir, struct dentry *dentry) * 'lld_sa_generation == lli->lli_sa_generation'. */ ldd = ll_d2d(dentry); if (ldd && ldd->lld_sa_generation == lli->lli_sa_generation) if (ldd->lld_sa_generation == lli->lli_sa_generation) return false; return true; Loading Loading @@ -1317,17 +1316,7 @@ static inline void ll_set_lock_data(struct obd_export *exp, struct inode *inode, static inline int d_lustre_invalid(const struct dentry *dentry) { struct ll_dentry_data *lld = ll_d2d(dentry); return !lld || lld->lld_invalid; } static inline void __d_lustre_invalidate(struct dentry *dentry) { struct ll_dentry_data *lld = ll_d2d(dentry); if (lld) lld->lld_invalid = 1; return ll_d2d(dentry)->lld_invalid; } /* Loading @@ -1343,7 +1332,7 @@ static inline void d_lustre_invalidate(struct dentry *dentry, int nested) spin_lock_nested(&dentry->d_lock, nested ? DENTRY_D_LOCK_NESTED : DENTRY_D_LOCK_NORMAL); __d_lustre_invalidate(dentry); ll_d2d(dentry)->lld_invalid = 1; /* * We should be careful about dentries created by d_obtain_alias(). * These dentries are not put in the dentry tree, instead they are Loading drivers/staging/lustre/lustre/llite/llite_nfs.c +6 −16 Original line number Diff line number Diff line Loading @@ -169,22 +169,12 @@ ll_iget_for_nfs(struct super_block *sb, struct lu_fid *fid, struct lu_fid *paren /* N.B. d_obtain_alias() drops inode ref on error */ result = d_obtain_alias(inode); if (!IS_ERR(result)) { int rc; rc = ll_d_init(result); if (rc < 0) { dput(result); result = ERR_PTR(rc); } else { struct ll_dentry_data *ldd = ll_d2d(result); /* * Need to signal to the ll_intent_file_open that * we came from NFS and so opencache needs to be * enabled for this one */ ldd->lld_nfs_dentry = 1; } ll_d2d(result)->lld_nfs_dentry = 1; } return result; Loading drivers/staging/lustre/lustre/llite/namei.c +1 −12 Original line number Diff line number Diff line Loading @@ -395,17 +395,9 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry) */ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) { struct dentry *new; int rc; if (inode) { new = ll_find_alias(inode, de); struct dentry *new = ll_find_alias(inode, de); if (new) { rc = ll_d_init(new); if (rc < 0) { dput(new); return ERR_PTR(rc); } d_move(new, de); iput(inode); CDEBUG(D_DENTRY, Loading @@ -414,9 +406,6 @@ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) return new; } } rc = ll_d_init(de); if (rc < 0) return ERR_PTR(rc); d_add(de, inode); CDEBUG(D_DENTRY, "Add dentry %p inode %p refc %d flags %#x\n", de, d_inode(de), d_count(de), de->d_flags); Loading drivers/staging/lustre/lustre/llite/statahead.c +1 −3 Original line number Diff line number Diff line Loading @@ -1513,8 +1513,6 @@ static int revalidate_statahead_dentry(struct inode *dir, */ ldd = ll_d2d(*dentryp); lli = ll_i2info(dir); /* ldd can be NULL if llite lookup failed. */ if (ldd) ldd->lld_sa_generation = lli->lli_sa_generation; sa_put(sai, entry); return rc; Loading Loading
drivers/staging/lustre/lustre/llite/dcache.c +7 −26 Original line number Diff line number Diff line Loading @@ -57,9 +57,6 @@ static void ll_release(struct dentry *de) LASSERT(de); lld = ll_d2d(de); if (!lld) /* NFS copies the de->d_op methods (bug 4655) */ return; if (lld->lld_it) { ll_intent_release(lld->lld_it); kfree(lld->lld_it); Loading Loading @@ -126,30 +123,13 @@ static int ll_ddelete(const struct dentry *de) return 0; } int ll_d_init(struct dentry *de) static int ll_d_init(struct dentry *de) { CDEBUG(D_DENTRY, "ldd on dentry %pd (%p) parent %p inode %p refc %d\n", de, de, de->d_parent, d_inode(de), d_count(de)); if (!de->d_fsdata) { struct ll_dentry_data *lld; lld = kzalloc(sizeof(*lld), GFP_NOFS); if (likely(lld)) { spin_lock(&de->d_lock); if (likely(!de->d_fsdata)) { de->d_fsdata = lld; __d_lustre_invalidate(de); } else { kfree(lld); } spin_unlock(&de->d_lock); } else { struct ll_dentry_data *lld = kzalloc(sizeof(*lld), GFP_KERNEL); if (unlikely(!lld)) return -ENOMEM; } } LASSERT(de->d_op == &ll_d_ops); lld->lld_invalid = 1; de->d_fsdata = lld; return 0; } Loading Loading @@ -300,6 +280,7 @@ static int ll_revalidate_nd(struct dentry *dentry, unsigned int flags) } const struct dentry_operations ll_d_ops = { .d_init = ll_d_init, .d_revalidate = ll_revalidate_nd, .d_release = ll_release, .d_delete = ll_ddelete, Loading
drivers/staging/lustre/lustre/llite/llite_internal.h +3 −14 Original line number Diff line number Diff line Loading @@ -801,7 +801,6 @@ int ll_hsm_release(struct inode *inode); /* llite/dcache.c */ int ll_d_init(struct dentry *de); extern const struct dentry_operations ll_d_ops; void ll_intent_drop_lock(struct lookup_intent *); void ll_intent_release(struct lookup_intent *); Loading Loading @@ -1189,7 +1188,7 @@ dentry_may_statahead(struct inode *dir, struct dentry *dentry) * 'lld_sa_generation == lli->lli_sa_generation'. */ ldd = ll_d2d(dentry); if (ldd && ldd->lld_sa_generation == lli->lli_sa_generation) if (ldd->lld_sa_generation == lli->lli_sa_generation) return false; return true; Loading Loading @@ -1317,17 +1316,7 @@ static inline void ll_set_lock_data(struct obd_export *exp, struct inode *inode, static inline int d_lustre_invalid(const struct dentry *dentry) { struct ll_dentry_data *lld = ll_d2d(dentry); return !lld || lld->lld_invalid; } static inline void __d_lustre_invalidate(struct dentry *dentry) { struct ll_dentry_data *lld = ll_d2d(dentry); if (lld) lld->lld_invalid = 1; return ll_d2d(dentry)->lld_invalid; } /* Loading @@ -1343,7 +1332,7 @@ static inline void d_lustre_invalidate(struct dentry *dentry, int nested) spin_lock_nested(&dentry->d_lock, nested ? DENTRY_D_LOCK_NESTED : DENTRY_D_LOCK_NORMAL); __d_lustre_invalidate(dentry); ll_d2d(dentry)->lld_invalid = 1; /* * We should be careful about dentries created by d_obtain_alias(). * These dentries are not put in the dentry tree, instead they are Loading
drivers/staging/lustre/lustre/llite/llite_nfs.c +6 −16 Original line number Diff line number Diff line Loading @@ -169,22 +169,12 @@ ll_iget_for_nfs(struct super_block *sb, struct lu_fid *fid, struct lu_fid *paren /* N.B. d_obtain_alias() drops inode ref on error */ result = d_obtain_alias(inode); if (!IS_ERR(result)) { int rc; rc = ll_d_init(result); if (rc < 0) { dput(result); result = ERR_PTR(rc); } else { struct ll_dentry_data *ldd = ll_d2d(result); /* * Need to signal to the ll_intent_file_open that * we came from NFS and so opencache needs to be * enabled for this one */ ldd->lld_nfs_dentry = 1; } ll_d2d(result)->lld_nfs_dentry = 1; } return result; Loading
drivers/staging/lustre/lustre/llite/namei.c +1 −12 Original line number Diff line number Diff line Loading @@ -395,17 +395,9 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry) */ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) { struct dentry *new; int rc; if (inode) { new = ll_find_alias(inode, de); struct dentry *new = ll_find_alias(inode, de); if (new) { rc = ll_d_init(new); if (rc < 0) { dput(new); return ERR_PTR(rc); } d_move(new, de); iput(inode); CDEBUG(D_DENTRY, Loading @@ -414,9 +406,6 @@ struct dentry *ll_splice_alias(struct inode *inode, struct dentry *de) return new; } } rc = ll_d_init(de); if (rc < 0) return ERR_PTR(rc); d_add(de, inode); CDEBUG(D_DENTRY, "Add dentry %p inode %p refc %d flags %#x\n", de, d_inode(de), d_count(de), de->d_flags); Loading
drivers/staging/lustre/lustre/llite/statahead.c +1 −3 Original line number Diff line number Diff line Loading @@ -1513,8 +1513,6 @@ static int revalidate_statahead_dentry(struct inode *dir, */ ldd = ll_d2d(*dentryp); lli = ll_i2info(dir); /* ldd can be NULL if llite lookup failed. */ if (ldd) ldd->lld_sa_generation = lli->lli_sa_generation; sa_put(sai, entry); return rc; Loading