• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/nfs/

Lines Matching defs:nd

706 static inline unsigned int nfs_lookup_check_intent(struct nameidata *nd, unsigned int mask)
708 if (nd->flags & (LOOKUP_CONTINUE|LOOKUP_PARENT))
710 return nd->flags & mask;
717 static int nfs_is_exclusive_create(struct inode *dir, struct nameidata *nd)
721 return nd && nfs_lookup_check_intent(nd, LOOKUP_EXCL);
733 int nfs_lookup_verify_inode(struct inode *inode, struct nameidata *nd)
739 if (nd != NULL) {
741 if (nd->flags & LOOKUP_REVAL)
744 if (nfs_lookup_check_intent(nd, LOOKUP_OPEN) != 0 &&
765 struct nameidata *nd)
768 if (nd != NULL && nfs_lookup_check_intent(nd, LOOKUP_CREATE) != 0)
786 static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd)
801 if (nfs_neg_need_reval(dir, dentry, nd))
817 if (!nfs_is_exclusive_create(dir, nd) && nfs_check_verifier(dir, dentry)) {
818 if (nfs_lookup_verify_inode(inode, nd))
939 static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *nd)
962 if (nfs_is_exclusive_create(dir, nd)) {
1018 static int is_atomic_open(struct nameidata *nd)
1020 if (nd == NULL || nfs_lookup_check_intent(nd, LOOKUP_OPEN) == 0)
1023 if (nd->flags & LOOKUP_DIRECTORY)
1026 if (__mnt_is_readonly(nd->path.mnt) &&
1027 (nd->intent.open.flags & (O_CREAT|O_TRUNC|FMODE_WRITE)))
1032 static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
1041 if (!is_atomic_open(nd))
1052 if (nd->flags & LOOKUP_EXCL) {
1058 res = nfs4_atomic_open(dir, dentry, nd);
1071 if (!(nd->intent.open.flags & O_NOFOLLOW))
1082 return nfs_lookup(dir, dentry, nd);
1085 static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd)
1092 if (!is_atomic_open(nd) || d_mountpoint(dentry))
1100 if (!nfs_neg_need_reval(dir, dentry, nd))
1108 openflags = nd->intent.open.flags;
1120 ret = nfs4_open_revalidate(dir, dentry, openflags, nd);
1129 return nfs_lookup_revalidate(dentry, nd);
1257 struct nameidata *nd)
1269 if ((nd->flags & LOOKUP_CREATE) != 0)
1270 open_flags = nd->intent.open.flags;
1272 error = NFS_PROTO(dir)->create(dir, dentry, &attr, open_flags, nd);