* [PATCH 0/5] Committed to the nfs-for-2.6.36 branch
@ 2010-08-05 14:17 Trond Myklebust
2010-08-05 14:17 ` [PATCH 1/5] NFSv4: Remember to clear NFS_DELEGATED_STATE in nfs_delegation_claim_opens Trond Myklebust
0 siblings, 1 reply; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
Hi,
The following patches have been committed to the nfs-for-2.6.36 branch,
which I plan on sending to Linus this weekend.
Cheers
Trond
Bryan Schumaker (1):
NFS: Fix /proc/mount for legacy binary interface
Trond Myklebust (4):
NFSv4: Remember to clear NFS_DELEGATED_STATE in
nfs_delegation_claim_opens
NFS: Fix the locking in nfs4_callback_getattr
NFS: NFS_V4 is no longer an EXPERIMENTAL feature
NFS: NFSv4.1 is no longer a "developer only" feature
fs/nfs/Kconfig | 10 +++++-----
fs/nfs/callback_proc.c | 6 +++---
fs/nfs/delegation.c | 1 +
fs/nfs/super.c | 4 ++++
include/linux/nfs_mount.h | 1 +
5 files changed, 14 insertions(+), 8 deletions(-)
--
1.7.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/5] NFSv4: Remember to clear NFS_DELEGATED_STATE in nfs_delegation_claim_opens
2010-08-05 14:17 [PATCH 0/5] Committed to the nfs-for-2.6.36 branch Trond Myklebust
@ 2010-08-05 14:17 ` Trond Myklebust
2010-08-05 14:17 ` [PATCH 2/5] NFS: Fix the locking in nfs4_callback_getattr Trond Myklebust
0 siblings, 1 reply; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
Reported-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
fs/nfs/delegation.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index b9c3c43..62f296e 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -106,6 +106,7 @@ again:
continue;
if (memcmp(state->stateid.data, stateid->data, sizeof(state->stateid.data)) != 0)
continue;
+ clear_bit(NFS_DELEGATED_STATE, &state->flags);
get_nfs_open_context(ctx);
spin_unlock(&inode->i_lock);
err = nfs4_open_delegation_recall(ctx, state, stateid);
--
1.7.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/5] NFS: Fix the locking in nfs4_callback_getattr
2010-08-05 14:17 ` [PATCH 1/5] NFSv4: Remember to clear NFS_DELEGATED_STATE in nfs_delegation_claim_opens Trond Myklebust
@ 2010-08-05 14:17 ` Trond Myklebust
2010-08-05 14:17 ` [PATCH 3/5] NFS: Fix /proc/mount for legacy binary interface Trond Myklebust
0 siblings, 1 reply; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
The delegation is protected by RCU now, so we need to replace the
nfsi->rwsem protection with an rcu protected section.
Reported-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
fs/nfs/callback_proc.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c
index 7445dd0..930d10f 100644
--- a/fs/nfs/callback_proc.c
+++ b/fs/nfs/callback_proc.c
@@ -37,8 +37,8 @@ __be32 nfs4_callback_getattr(struct cb_getattrargs *args, struct cb_getattrres *
if (inode == NULL)
goto out_putclient;
nfsi = NFS_I(inode);
- down_read(&nfsi->rwsem);
- delegation = nfsi->delegation;
+ rcu_read_lock();
+ delegation = rcu_dereference(nfsi->delegation);
if (delegation == NULL || (delegation->type & FMODE_WRITE) == 0)
goto out_iput;
res->size = i_size_read(inode);
@@ -53,7 +53,7 @@ __be32 nfs4_callback_getattr(struct cb_getattrargs *args, struct cb_getattrres *
args->bitmap[1];
res->status = 0;
out_iput:
- up_read(&nfsi->rwsem);
+ rcu_read_unlock();
iput(inode);
out_putclient:
nfs_put_client(clp);
--
1.7.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/5] NFS: Fix /proc/mount for legacy binary interface
2010-08-05 14:17 ` [PATCH 2/5] NFS: Fix the locking in nfs4_callback_getattr Trond Myklebust
@ 2010-08-05 14:17 ` Trond Myklebust
2010-08-05 14:17 ` [PATCH 4/5] NFS: NFS_V4 is no longer an EXPERIMENTAL feature Trond Myklebust
0 siblings, 1 reply; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
From: Bryan Schumaker <bjschuma@netapp.com>
Add a flag so we know if we mounted the NFS server using the legacy
binary interface. If we used the legacy interface, then we should not
show the mountd options.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
fs/nfs/super.c | 4 ++++
include/linux/nfs_mount.h | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index f9df16d..f1ae39f 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -546,6 +546,9 @@ static void nfs_show_mountd_options(struct seq_file *m, struct nfs_server *nfss,
{
struct sockaddr *sap = (struct sockaddr *)&nfss->mountd_address;
+ if (nfss->flags & NFS_MOUNT_LEGACY_INTERFACE)
+ return;
+
switch (sap->sa_family) {
case AF_INET: {
struct sockaddr_in *sin = (struct sockaddr_in *)sap;
@@ -1780,6 +1783,7 @@ static int nfs_validate_mount_data(void *options,
* can deal with.
*/
args->flags = data->flags & NFS_MOUNT_FLAGMASK;
+ args->flags |= NFS_MOUNT_LEGACY_INTERFACE;
args->rsize = data->rsize;
args->wsize = data->wsize;
args->timeo = data->timeo;
diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
index 4499016..5d59ae8 100644
--- a/include/linux/nfs_mount.h
+++ b/include/linux/nfs_mount.h
@@ -69,5 +69,6 @@ struct nfs_mount_data {
#define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000
#define NFS_MOUNT_LOOKUP_CACHE_NONE 0x20000
#define NFS_MOUNT_NORESVPORT 0x40000
+#define NFS_MOUNT_LEGACY_INTERFACE 0x80000
#endif
--
1.7.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] NFS: NFS_V4 is no longer an EXPERIMENTAL feature
2010-08-05 14:17 ` [PATCH 3/5] NFS: Fix /proc/mount for legacy binary interface Trond Myklebust
@ 2010-08-05 14:17 ` Trond Myklebust
2010-08-05 14:17 ` [PATCH 5/5] NFS: NFSv4.1 is no longer a "developer only" feature Trond Myklebust
0 siblings, 1 reply; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
fs/nfs/Kconfig | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index a43d07e..d55f3f5 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -61,8 +61,8 @@ config NFS_V3_ACL
If unsure, say N.
config NFS_V4
- bool "NFS client support for NFS version 4 (EXPERIMENTAL)"
- depends on NFS_FS && EXPERIMENTAL
+ bool "NFS client support for NFS version 4"
+ depends on NFS_FS
select RPCSEC_GSS_KRB5
help
This option enables support for version 4 of the NFS protocol
@@ -72,7 +72,7 @@ config NFS_V4
space programs which can be found in the Linux nfs-utils package,
available from http://linux-nfs.org/.
- If unsure, say N.
+ If unsure, say Y.
config NFS_V4_1
bool "NFS client support for NFSv4.1 (DEVELOPER ONLY)"
--
1.7.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] NFS: NFSv4.1 is no longer a "developer only" feature
2010-08-05 14:17 ` [PATCH 4/5] NFS: NFS_V4 is no longer an EXPERIMENTAL feature Trond Myklebust
@ 2010-08-05 14:17 ` Trond Myklebust
0 siblings, 0 replies; 6+ messages in thread
From: Trond Myklebust @ 2010-08-05 14:17 UTC (permalink / raw)
To: linux-nfs
Mark it as 'experimental' instead, since in practice, NFSv4.1 should now be
relatively stable.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---
fs/nfs/Kconfig | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index d55f3f5..cc1bb33 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -75,13 +75,13 @@ config NFS_V4
If unsure, say Y.
config NFS_V4_1
- bool "NFS client support for NFSv4.1 (DEVELOPER ONLY)"
+ bool "NFS client support for NFSv4.1 (EXPERIMENTAL)"
depends on NFS_V4 && EXPERIMENTAL
help
This option enables support for minor version 1 of the NFSv4 protocol
(draft-ietf-nfsv4-minorversion1) in the kernel's NFS client.
- Unless you're an NFS developer, say N.
+ If unsure, say N.
config ROOT_NFS
bool "Root file system on NFS"
--
1.7.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-08-05 14:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-05 14:17 [PATCH 0/5] Committed to the nfs-for-2.6.36 branch Trond Myklebust
2010-08-05 14:17 ` [PATCH 1/5] NFSv4: Remember to clear NFS_DELEGATED_STATE in nfs_delegation_claim_opens Trond Myklebust
2010-08-05 14:17 ` [PATCH 2/5] NFS: Fix the locking in nfs4_callback_getattr Trond Myklebust
2010-08-05 14:17 ` [PATCH 3/5] NFS: Fix /proc/mount for legacy binary interface Trond Myklebust
2010-08-05 14:17 ` [PATCH 4/5] NFS: NFS_V4 is no longer an EXPERIMENTAL feature Trond Myklebust
2010-08-05 14:17 ` [PATCH 5/5] NFS: NFSv4.1 is no longer a "developer only" feature Trond Myklebust
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).