vfs.c (6c0a654dceaa4342270306de77eadb0173dfb58a) | vfs.c (32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966) |
---|---|
1#define MSNFS /* HACK HACK */ 2/* 3 * linux/fs/nfsd/vfs.c 4 * 5 * File operations used by nfsd. Some of these have been ripped from 6 * other parts of the kernel because they weren't exported, others 7 * are partial duplicates with added or changed functionality. 8 * --- 226 unchanged lines hidden (view full) --- 235{ 236 struct svc_export *exp; 237 struct dentry *dentry; 238 __be32 err; 239 240 err = nfsd_lookup_dentry(rqstp, fhp, name, len, &exp, &dentry); 241 if (err) 242 return err; | 1#define MSNFS /* HACK HACK */ 2/* 3 * linux/fs/nfsd/vfs.c 4 * 5 * File operations used by nfsd. Some of these have been ripped from 6 * other parts of the kernel because they weren't exported, others 7 * are partial duplicates with added or changed functionality. 8 * --- 226 unchanged lines hidden (view full) --- 235{ 236 struct svc_export *exp; 237 struct dentry *dentry; 238 __be32 err; 239 240 err = nfsd_lookup_dentry(rqstp, fhp, name, len, &exp, &dentry); 241 if (err) 242 return err; |
243 err = check_nfsd_access(exp, rqstp); 244 if (err) 245 goto out; |
|
243 /* 244 * Note: we compose the file handle now, but as the 245 * dentry may be negative, it may need to be updated. 246 */ 247 err = fh_compose(resfh, exp, dentry, fhp); 248 if (!err && !dentry->d_inode) 249 err = nfserr_noent; | 246 /* 247 * Note: we compose the file handle now, but as the 248 * dentry may be negative, it may need to be updated. 249 */ 250 err = fh_compose(resfh, exp, dentry, fhp); 251 if (!err && !dentry->d_inode) 252 err = nfserr_noent; |
253out: |
|
250 dput(dentry); 251 exp_put(exp); 252 return err; 253} 254 255 256/* 257 * Set various file attributes. --- 1753 unchanged lines hidden --- | 254 dput(dentry); 255 exp_put(exp); 256 return err; 257} 258 259 260/* 261 * Set various file attributes. --- 1753 unchanged lines hidden --- |