From 81b7e5c7a8f5939452959d27674560c6b803daa9 Mon Sep 17 00:00:00 2001 From: Krishna Srinivas <634494+krishnasrinivas@users.noreply.github.com> Date: Tue, 4 Sep 2018 23:22:05 -0700 Subject: [PATCH] Send length instead of empty buffer for ReadFile() (#6414) --- cmd/storage-rpc-client.go | 2 +- cmd/storage-rpc-server.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/storage-rpc-client.go b/cmd/storage-rpc-client.go index 7dd6172f9..daa8abbfd 100644 --- a/cmd/storage-rpc-client.go +++ b/cmd/storage-rpc-client.go @@ -227,7 +227,7 @@ func (client *StorageRPCClient) ReadFile(volume string, path string, offset int6 Vol: volume, Path: path, Offset: offset, - Buffer: buffer, + Length: int64(len(buffer)), Verified: true, // mark read as verified by default } if verifier != nil { diff --git a/cmd/storage-rpc-server.go b/cmd/storage-rpc-server.go index bc7b71d50..e3cf9b6b4 100644 --- a/cmd/storage-rpc-server.go +++ b/cmd/storage-rpc-server.go @@ -127,7 +127,7 @@ type ReadFileArgs struct { Vol string Path string Offset int64 - Buffer []byte + Length int64 Algo BitrotAlgorithm ExpectedHash []byte Verified bool @@ -140,13 +140,14 @@ func (receiver *storageRPCReceiver) ReadFile(args *ReadFileArgs, reply *[]byte) verifier = NewBitrotVerifier(args.Algo, args.ExpectedHash) } - n, err := receiver.local.ReadFile(args.Vol, args.Path, args.Offset, args.Buffer, verifier) + buf := make([]byte, args.Length) + n, err := receiver.local.ReadFile(args.Vol, args.Path, args.Offset, buf, verifier) // Ignore io.ErrEnexpectedEOF for short reads i.e. less content available than requested. if err == io.ErrUnexpectedEOF { err = nil } - *reply = args.Buffer[0:n] + *reply = buf[0:n] return err }