Lines Matching refs:dentry
83 nfsd_cross_mnt(struct svc_rqst *rqstp, struct dentry **dpp, in nfsd_cross_mnt()
87 struct dentry *dentry = *dpp; in nfsd_cross_mnt() local
89 .dentry = dget(dentry)}; in nfsd_cross_mnt()
120 *dpp = path.dentry; in nfsd_cross_mnt()
121 path.dentry = dentry; in nfsd_cross_mnt()
133 struct dentry *dp; in follow_to_parent()
135 while (path->dentry == path->mnt->mnt_root && follow_up(path)) in follow_to_parent()
137 dp = dget_parent(path->dentry); in follow_to_parent()
138 dput(path->dentry); in follow_to_parent()
139 path->dentry = dp; in follow_to_parent()
142 …fsd_lookup_parent(struct svc_rqst *rqstp, struct dentry *dparent, struct svc_export **exp, struct … in nfsd_lookup_parent()
146 .dentry = dget(dparent)}; in nfsd_lookup_parent()
157 *dentryp = dget(path.dentry); in nfsd_lookup_parent()
169 int nfsd_mountpoint(struct dentry *dentry, struct svc_export *exp) in nfsd_mountpoint() argument
171 if (d_mountpoint(dentry)) in nfsd_mountpoint()
173 if (nfsd4_is_junction(dentry)) in nfsd_mountpoint()
177 return d_inode(dentry) != NULL; in nfsd_mountpoint()
183 struct svc_export **exp_ret, struct dentry **dentry_ret) in nfsd_lookup_dentry()
186 struct dentry *dparent; in nfsd_lookup_dentry()
187 struct dentry *dentry; in nfsd_lookup_dentry() local
198 dentry = dget(dparent); in nfsd_lookup_dentry()
199 else if (dparent != exp->ex_path.dentry) in nfsd_lookup_dentry()
200 dentry = dget_parent(dparent); in nfsd_lookup_dentry()
202 dentry = dget(dparent); /* .. == . just like at / */ in nfsd_lookup_dentry()
205 host_err = nfsd_lookup_parent(rqstp, dparent, &exp, &dentry); in nfsd_lookup_dentry()
216 dentry = lookup_one_len(name, dparent, len); in nfsd_lookup_dentry()
217 host_err = PTR_ERR(dentry); in nfsd_lookup_dentry()
218 if (IS_ERR(dentry)) in nfsd_lookup_dentry()
223 if (nfsd_mountpoint(dentry, exp)) { in nfsd_lookup_dentry()
224 if ((host_err = nfsd_cross_mnt(rqstp, &dentry, &exp))) { in nfsd_lookup_dentry()
225 dput(dentry); in nfsd_lookup_dentry()
230 *dentry_ret = dentry; in nfsd_lookup_dentry()
256 struct dentry *dentry; in nfsd_lookup() local
262 err = nfsd_lookup_dentry(rqstp, fhp, name, len, &exp, &dentry); in nfsd_lookup()
272 err = fh_compose(resfh, exp, dentry, fhp); in nfsd_lookup()
273 if (!err && d_really_is_negative(dentry)) in nfsd_lookup()
276 dput(dentry); in nfsd_lookup()
365 struct dentry *dentry; in nfsd_setattr() local
392 dentry = fhp->fh_dentry; in nfsd_setattr()
393 inode = d_inode(dentry); in nfsd_setattr()
433 host_err = notify_change(dentry, iap, NULL); in nfsd_setattr()
460 int nfsd4_is_junction(struct dentry *dentry) in nfsd4_is_junction() argument
462 struct inode *inode = d_inode(dentry); in nfsd4_is_junction()
470 if (vfs_getxattr(dentry, NFSD_JUNCTION_XATTR_NAME, NULL, 0) <= 0) in nfsd4_is_junction()
480 struct dentry *dentry; in nfsd4_set_nfs4_label() local
486 dentry = fhp->fh_dentry; in nfsd4_set_nfs4_label()
488 mutex_lock(&d_inode(dentry)->i_mutex); in nfsd4_set_nfs4_label()
489 host_error = security_inode_setsecctx(dentry, label->data, label->len); in nfsd4_set_nfs4_label()
490 mutex_unlock(&d_inode(dentry)->i_mutex); in nfsd4_set_nfs4_label()
566 struct dentry *dentry; in nfsd_access() local
575 dentry = fhp->fh_dentry; in nfsd_access()
577 if (d_is_reg(dentry)) in nfsd_access()
579 else if (d_is_dir(dentry)) in nfsd_access()
592 err2 = nfsd_permission(rqstp, export, dentry, map->how); in nfsd_access()
667 path.dentry = fhp->fh_dentry; in nfsd_open()
668 inode = d_inode(path.dentry); in nfsd_open()
1126 struct dentry *dentry, *dchild = NULL; in nfsd_create() local
1143 dentry = fhp->fh_dentry; in nfsd_create()
1144 dirp = d_inode(dentry); in nfsd_create()
1160 dchild = lookup_one_len(fname, dentry, flen); in nfsd_create()
1174 dentry); in nfsd_create()
1185 dentry, dchild); in nfsd_create()
1261 struct dentry *dentry, *dchild = NULL; in do_nfsd_create() local
1279 dentry = fhp->fh_dentry; in do_nfsd_create()
1280 dirp = d_inode(dentry); in do_nfsd_create()
1297 dchild = lookup_one_len(fname, dentry, flen); in do_nfsd_create()
1439 path.dentry = fhp->fh_dentry; in nfsd_readlink()
1440 inode = d_inode(path.dentry); in nfsd_readlink()
1452 host_err = inode->i_op->readlink(path.dentry, (char __user *)buf, *lenp); in nfsd_readlink()
1477 struct dentry *dentry, *dnew; in nfsd_symlink() local
1497 dentry = fhp->fh_dentry; in nfsd_symlink()
1498 dnew = lookup_one_len(fname, dentry, flen); in nfsd_symlink()
1503 host_err = vfs_symlink(d_inode(dentry), dnew, path); in nfsd_symlink()
1530 struct dentry *ddir, *dnew, *dold; in nfsd_link()
1603 struct dentry *fdentry, *tdentry, *odentry, *ndentry, *trap; in nfsd_rename()
1661 if (ffhp->fh_export->ex_path.dentry != tfhp->fh_export->ex_path.dentry) in nfsd_rename()
1699 struct dentry *dentry, *rdentry; in nfsd_unlink() local
1716 dentry = fhp->fh_dentry; in nfsd_unlink()
1717 dirp = d_inode(dentry); in nfsd_unlink()
1719 rdentry = lookup_one_len(fname, dentry, flen); in nfsd_unlink()
1922 .dentry = fhp->fh_dentry, in nfsd_statfs()
1940 struct dentry *dentry, int acc) in nfsd_permission() argument
1942 struct inode *inode = d_inode(dentry); in nfsd_permission()