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:
commit
c6f5c93098
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue