LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21
@ 2007-03-23  0:46 NeilBrown
  2007-03-23  0:46 ` [PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies NeilBrown
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: NeilBrown @ 2007-03-23  0:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nfs, linux-kernel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies
  2007-03-23  0:46 [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21 NeilBrown
@ 2007-03-23  0:46 ` NeilBrown
  2007-03-23  0:46 ` [PATCH 002 of 4] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace NeilBrown
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: NeilBrown @ 2007-03-23  0:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nfs, linux-kernel


->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.


Signed-off-by: Neil Brown <neilb@suse.de>

### Diffstat output
 ./fs/nfsd/nfs3xdr.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff .prev/fs/nfsd/nfs3xdr.c ./fs/nfsd/nfs3xdr.c
--- .prev/fs/nfsd/nfs3xdr.c	2007-03-23 11:13:15.000000000 +1100
+++ ./fs/nfsd/nfs3xdr.c	2007-03-23 11:13:15.000000000 +1100
@@ -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);
 		}
 	}
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 002 of 4] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace
  2007-03-23  0:46 [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21 NeilBrown
  2007-03-23  0:46 ` [PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies NeilBrown
@ 2007-03-23  0:46 ` NeilBrown
  2007-03-23  0:46 ` [PATCH 003 of 4] knfsd: nfsd4: demote "clientid in use" printk to a dprintk NeilBrown
  2007-03-23  0:47 ` [PATCH 004 of 4] knfsd: nfsd4: remove superfluous cancel_delayed_work() call NeilBrown
  3 siblings, 0 replies; 5+ messages in thread
From: NeilBrown @ 2007-03-23  0:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nfs, linux-kernel


From: Bruce Fields <bfields@citi.umich.edu>

A regression introduced in the last set of acl patches removed the
INHERIT_ONLY flag from aces derived from the posix acl.  Fix.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>

### Diffstat output
 ./fs/nfsd/nfs4acl.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff .prev/fs/nfsd/nfs4acl.c ./fs/nfsd/nfs4acl.c
--- .prev/fs/nfsd/nfs4acl.c	2007-03-23 11:18:58.000000000 +1100
+++ ./fs/nfsd/nfs4acl.c	2007-03-23 11:18:58.000000000 +1100
@@ -228,7 +228,7 @@ _posix_to_nfsv4_one(struct posix_acl *pa
 	struct 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);

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 003 of 4] knfsd: nfsd4: demote "clientid in use" printk to a dprintk
  2007-03-23  0:46 [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21 NeilBrown
  2007-03-23  0:46 ` [PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies NeilBrown
  2007-03-23  0:46 ` [PATCH 002 of 4] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace NeilBrown
@ 2007-03-23  0:46 ` NeilBrown
  2007-03-23  0:47 ` [PATCH 004 of 4] knfsd: nfsd4: remove superfluous cancel_delayed_work() call NeilBrown
  3 siblings, 0 replies; 5+ messages in thread
From: NeilBrown @ 2007-03-23  0:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nfs, linux-kernel


From: Bruce Fields <bfields@citi.umich.edu>

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.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>

### Diffstat output
 ./fs/nfsd/nfs4state.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff .prev/fs/nfsd/nfs4state.c ./fs/nfsd/nfs4state.c
--- .prev/fs/nfsd/nfs4state.c	2007-03-23 11:19:14.000000000 +1100
+++ ./fs/nfsd/nfs4state.c	2007-03-23 11:19:14.000000000 +1100
@@ -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;
 		}
 	}

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 004 of 4] knfsd: nfsd4: remove superfluous cancel_delayed_work() call
  2007-03-23  0:46 [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21 NeilBrown
                   ` (2 preceding siblings ...)
  2007-03-23  0:46 ` [PATCH 003 of 4] knfsd: nfsd4: demote "clientid in use" printk to a dprintk NeilBrown
@ 2007-03-23  0:47 ` NeilBrown
  3 siblings, 0 replies; 5+ messages in thread
From: NeilBrown @ 2007-03-23  0:47 UTC (permalink / raw)
  To: Andrew Morton; +Cc: nfs, linux-kernel

From: "J. Bruce Fields" <bfields@fieldses.org>

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.

Cc: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>

### Diffstat output
 ./fs/nfsd/nfs4state.c |    1 -
 1 file changed, 1 deletion(-)

diff .prev/fs/nfsd/nfs4state.c ./fs/nfsd/nfs4state.c
--- .prev/fs/nfsd/nfs4state.c	2007-03-23 11:19:14.000000000 +1100
+++ ./fs/nfsd/nfs4state.c	2007-03-23 11:19:34.000000000 +1100
@@ -3260,7 +3260,6 @@ __nfs4_state_shutdown(void)
 		unhash_delegation(dp);
 	}
 
-	cancel_delayed_work(&laundromat_work);
 	nfsd4_shutdown_recdir();
 	nfs4_init = 0;
 }

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-03-23  0:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-23  0:46 [PATCH 000 of 4] knfsd: 4 bugfixes for nfsd suitable for 2.6.21 NeilBrown
2007-03-23  0:46 ` [PATCH 001 of 4] knfsd: Allow nfsd READDIR to return 64bit cookies NeilBrown
2007-03-23  0:46 ` [PATCH 002 of 4] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace NeilBrown
2007-03-23  0:46 ` [PATCH 003 of 4] knfsd: nfsd4: demote "clientid in use" printk to a dprintk NeilBrown
2007-03-23  0:47 ` [PATCH 004 of 4] knfsd: nfsd4: remove superfluous cancel_delayed_work() call NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).