[pnfs] [PATCH 5/7] nfs4_pnfs_layout_segment: use for layoutrecall client side

Benny Halevy bhalevy at panasas.com
Thu Aug 30 09:14:33 EDT 2007


Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
 fs/nfs/callback.h     |    4 +---
 fs/nfs/callback_xdr.c |    8 ++++----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/nfs/callback.h b/fs/nfs/callback.h
index 2311352..7c010c0 100644
--- a/fs/nfs/callback.h
+++ b/fs/nfs/callback.h
@@ -73,12 +73,10 @@ struct cb_recallargs {
 struct cb_pnfs_layoutrecallargs {
 	struct sockaddr_in	*cbl_addr;
 	struct nfs_fh		cbl_fh;
-	uint64_t		cbl_offset;
-	uint64_t		cbl_length;
+	struct nfs4_pnfs_layout_segment cbl_seg;
 	struct nfs_fsid		cbl_fsid;
 	uint32_t		cbl_recall_type;
 	uint32_t		cbl_layout_type;
-	uint32_t		cbl_iomode;
 	uint32_t		cbl_layoutchanged;
 };
 
diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c
index cb73532..1170300 100644
--- a/fs/nfs/callback_xdr.c
+++ b/fs/nfs/callback_xdr.c
@@ -331,7 +331,7 @@ static unsigned decode_pnfs_layoutrecall_args(struct svc_rqst *rqstp, struct xdr
 	}
 
 	args->cbl_layout_type = ntohl(*p++);
-	args->cbl_iomode = ntohl(*p++);
+	args->cbl_seg.iomode = ntohl(*p++);
 	args->cbl_layoutchanged = ntohl(*p++);
 	args->cbl_recall_type = ntohl(*p++);
 
@@ -346,11 +346,11 @@ static unsigned decode_pnfs_layoutrecall_args(struct svc_rqst *rqstp, struct xdr
 			goto out;
 
 		p = read_buf(xdr, 2 * sizeof(uint64_t));
-		READ64(args->cbl_offset);
-		READ64(args->cbl_length);
+		READ64(args->cbl_seg.offset);
+		READ64(args->cbl_seg.length);
 	}
 	dprintk("%s: ltype %d iomode %d changed %d recall_type %d fsid %llx-%llx\n",
-		__FUNCTION__, args->cbl_layout_type, args->cbl_iomode,
+		__FUNCTION__, args->cbl_layout_type, args->cbl_seg.iomode,
 		args->cbl_layoutchanged, args->cbl_recall_type,
 		args->cbl_fsid.major, args->cbl_fsid.minor);
 out:
-- 
1.5.2.5




More information about the pNFS mailing list