[pnfs] [PATCH 02/11] pNFSD: DS must not hold nfs4_lock_stat when calling MDS on the same node.
Benny Halevy
bhalevy at panasas.com
Mon Feb 11 07:59:54 EST 2008
From: Marc Eshel <eshel at almaden.ibm.com>
Signed-off-by: Marc Eshel <eshel at almaden.ibm.com>
---
fs/nfsd/nfs4pnfsds.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/fs/nfsd/nfs4pnfsds.c b/fs/nfsd/nfs4pnfsds.c
index b97a288..6cb6f17 100644
--- a/fs/nfsd/nfs4pnfsds.c
+++ b/fs/nfsd/nfs4pnfsds.c
@@ -290,9 +290,12 @@ nfsv4_ds_get_state(struct svc_fh *cfh, stateid_t *stidp)
return dsp;
memcpy(&gs.stid, stidp, sizeof(stateid_t));
sb = ino->i_sb;
- if (sb && sb->s_export_op->get_state)
+ if (sb && sb->s_export_op->get_state) {
+ nfs4_unlock_state();
status = sb->s_export_op->get_state(ino, &cfh->fh_handle, &gs);
dprintk("pNFSD: %s from MDS status %d\n", __func__, status);
+ nfs4_lock_state();
+ }
if (status)
return NULL;
/* create new pnfs_ds_stateid */
--
1.5.3.3
More information about the pNFS
mailing list