Merge branch 'for-3.4' of git://linux-nfs.org/~bfields/linux

Pull nfsd bugfixes from J. Bruce Fields:
 "One bugfix, and one minor header fix from Jeff Layton while we're
  here"

* 'for-3.4' of git://linux-nfs.org/~bfields/linux:
  nfsd: include cld.h in the headers_install target
  nfsd: don't fail unchecked creates of non-special files
This commit is contained in:
Linus Torvalds 2012-04-19 14:54:52 -07:00
commit c6f5c93098
3 changed files with 6 additions and 5 deletions

View File

@ -235,15 +235,15 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_o
*/ */
if (open->op_createmode == NFS4_CREATE_EXCLUSIVE && status == 0) if (open->op_createmode == NFS4_CREATE_EXCLUSIVE && status == 0)
open->op_bmval[1] = (FATTR4_WORD1_TIME_ACCESS | open->op_bmval[1] = (FATTR4_WORD1_TIME_ACCESS |
FATTR4_WORD1_TIME_MODIFY); FATTR4_WORD1_TIME_MODIFY);
} else { } else {
status = nfsd_lookup(rqstp, current_fh, status = nfsd_lookup(rqstp, current_fh,
open->op_fname.data, open->op_fname.len, resfh); open->op_fname.data, open->op_fname.len, resfh);
fh_unlock(current_fh); fh_unlock(current_fh);
if (status)
goto out;
status = nfsd_check_obj_isreg(resfh);
} }
if (status)
goto out;
status = nfsd_check_obj_isreg(resfh);
if (status) if (status)
goto out; goto out;

View File

@ -1458,7 +1458,7 @@ do_nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
switch (createmode) { switch (createmode) {
case NFS3_CREATE_UNCHECKED: case NFS3_CREATE_UNCHECKED:
if (! S_ISREG(dchild->d_inode->i_mode)) if (! S_ISREG(dchild->d_inode->i_mode))
err = nfserr_exist; goto out;
else if (truncp) { else if (truncp) {
/* in nfsv4, we need to treat this case a little /* in nfsv4, we need to treat this case a little
* differently. we don't want to truncate the * differently. we don't want to truncate the

View File

@ -1,3 +1,4 @@
header-y += cld.h
header-y += debug.h header-y += debug.h
header-y += export.h header-y += export.h
header-y += nfsfh.h header-y += nfsfh.h