[pnfs] [PATCH 1/4] pnfsd: Check for dense layout in layout encode.

Dean Hildebrand seattleplus at gmail.com
Sun May 11 03:06:59 EDT 2008


Some file systems set a value of STRIPE_SPARSE,
which will cause problems without this patch.

Signed-off-by: Dean Hildebrand <dhildeb at us.ibm.com>
---
 fs/nfs/pnfs.c               |    2 +-
 fs/nfsd/nfs4filelayoutxdr.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index b01527e..c09f72b 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1409,7 +1409,7 @@ pnfs_file_write(struct file *filp, const char __user *buf, size_t count,
 {
 	struct inode *inode = filp->f_dentry->d_inode;
 	struct nfs_open_context *context = filp->private_data;
-	int status;
+	int status = NFS_OK;
 
 	if (!pnfs_enabled_sb(NFS_SERVER(inode)))
 		goto out;
diff --git a/fs/nfsd/nfs4filelayoutxdr.c b/fs/nfsd/nfs4filelayoutxdr.c
index 56ac046..3fad452 100644
--- a/fs/nfsd/nfs4filelayoutxdr.c
+++ b/fs/nfsd/nfs4filelayoutxdr.c
@@ -191,7 +191,7 @@ filelayout_encode_layout(struct pnfs_xdr_info *resp, void *layout)
 	nfl_util = flp->lg_stripe_unit;
 	if (flp->lg_commit_through_mds)
 		nfl_util |= NFL4_UFLG_COMMIT_THRU_MDS;
-	if (flp->lg_stripe_type)
+	if (flp->lg_stripe_type == STRIPE_DENSE)
 		nfl_util |= NFL4_UFLG_DENSE;
 	WRITE32(nfl_util);
 	len += 4;
-- 
1.5.3.3



More information about the pNFS mailing list