knfsd: 4 bugfixes for nfsd suitable for 2.6.21
Subsystems (2)
PATCH 1/1 knfsd: 4 bugfixes for nfsd suitable for 2.6.21
Following are 4 small bugfixes for nfsd that are suitable for 2.6.21.
Thanks,
NeilBrown
[PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies
[PATCH 002 of 4] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace [PATCH 003 of 4] knfsd: nfsd4: demote "clientid in use" printk to a dprintk [PATCH 004 of 4] knfsd: nfsd4: remove superfluous cancel_delayed_work() call
PATCH 1/1 knfsd: Allow nfsd READDIR to return 64bit cookies
->readdir passes lofft_t offsets (used as nfs cookies) to nfs3svc_encode_entry{,_plus}, but when they pass it on to encode_entry it becomes an 'off_t', which isn't good.
So filesystems that returned 64bit offsets would lose.
### Diffstat output
./fs/nfsd/nfs3xdr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
fs/nfsd/nfs3xdr.c +3 -3
@@ -887,8 +887,8 @@ compose_entry_fh(struct nfsd3_readdirres#define NFS3_ENTRY_BAGGAGE (2 + 1 + 2 + 1)#define NFS3_ENTRYPLUS_BAGGAGE (1 + 21 + 1 + (NFS3_FHSIZE >> 2))static int -encode_entry (struct readdir_cd *ccd,const char *name, -int namlen,off_t offset,ino_t ino,unsigned int d_type,int plus) +encode_entry (struct readdir_cd *ccd,const char *name,int namlen, +loff_t offset,ino_t ino,unsigned int d_type,int plus) { struct nfsd3_readdirres *cd = container_of(ccd, struct nfsd3_readdirres, common);
@@ -908,7 +908,7 @@ encode_entry(struct readdir_cd *ccd, con *cd->offset1 =htonl (offset64 &0xffffffff ); cd->offset1 =NULL ; }else { -xdr_encode_hyper (cd->offset, (u64 ) offset); +xdr_encode_hyper (cd->offset, offset64); } }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
PATCH 1/1 knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace
In reply to NeilBrownFrom: Bruce Fields <[email protected]>
A regression introduced in the last set of acl patches removed the INHERIT_ONLY flag from aces derived from the posix acl. Fix.
### Diffstat output
./fs/nfsd/nfs4acl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/nfsd/nfs4acl.c +1 -1
@@ -228,7 +228,7 @@ _posix_to_nfsv4_one(struct posix_acl *pastruct posix_acl_summary pas;unsigned short deny;int eflag = ((flags &NFS4_ACL_TYPE_DEFAULT ) ? -NFS4_INHERITANCE_FLAGS :0 ); +NFS4_INHERITANCE_FLAGS |NFS4_ACE_INHERIT_ONLY_ACE :0 );BUG_ON (pacl->a_count <3 );summarize_posix_acl (pacl, &pas);
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
PATCH 1/1 knfsd: nfsd4: demote "clientid in use" printk to a dprintk
In reply to NeilBrownFrom: Bruce Fields <[email protected]>
The reused clientid here is a more of a problem for the client than the server, and the client can report the problem itself if it's serious.
### Diffstat output
./fs/nfsd/nfs4state.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
fs/nfsd/nfs4state.c +2 -3
@@ -750,9 +750,8 @@ nfsd4_setclientid(struct svc_rqst *rqstp status = nfserr_clid_inuse;if (!cmp_creds (&conf->cl_cred, &rqstp->rq_cred) || conf->cl_addr != sin->sin_addr.s_addr) { -printk ("NFSD: setclientid: string in use by client" -"(clientid %08x/%08x)\n" , - conf->cl_clientid.cl_boot, conf->cl_clientid.cl_id); +dprintk ("NFSD: setclientid: string in use by client" +"at %u.%u.%u.%u\n" ,NIPQUAD (conf->cl_addr)); goto out; } }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
PATCH 1/1 knfsd: nfsd4: remove superfluous cancel_delayed_work() call
In reply to NeilBrownFrom: "J. Bruce Fields" <[email protected]>
This cancel_delayed_work call is called from a function that is only called from a piece of code that immediate follows a cancel and destruction of the workqueue, so it's clearly a mistake.
### Diffstat output
./fs/nfsd/nfs4state.c | 1 - 1 file changed, 1 deletion(-)
fs/nfsd/nfs4state.c +0 -1
@@ -3260,7 +3260,6 @@ __nfs4_state_shutdown(void)unhash_delegation (dp); } -cancel_delayed_work (&laundromat_work);nfsd4_shutdown_recdir (); nfs4_init =0 ; }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs