From 2848a53f53b414e8289bce1527ce0cee78719b70 Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Sun, 9 May 2010 23:13:54 +0000 Subject: nfs3: Round-up read reply bytes of multi-vector reply A previos commit brought in support for returning read replies when subvolumes return reads in multiple iovecs. This did not completely fix the problem since the bytes in iovecs all together could be unaligned with the 4 byte boundary as needed by XDR for the opaque data. This resulted in read requests being either retransmitted or rejected with an error message in syslog on the NFS client. Signed-off-by: Shehjar Tikoo Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati BUG: 902 (iozone hangs during random read throughput test) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=902 --- xlators/nfs/server/src/nfs3-helpers.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'xlators/nfs/server/src/nfs3-helpers.c') diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index 0d0007745f3..e929bb31117 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -1529,9 +1529,7 @@ nfs3_fill_read3res (read3res *res, nfsstat3 stat, count3 count, res->read3res_u.resok.file_attributes = poa; res->read3res_u.resok.count = count; res->read3res_u.resok.eof = is_eof; - res->read3res_u.resok.data.data_len = xdr_length_round_up (count, - 1048576); - + res->read3res_u.resok.data.data_len = count; } -- cgit