From 11e7a712f469fb24ddb88ecebcefab6ed8880eb8 Mon Sep 17 00:00:00 2001 From: Zahoor Mohamed Date: Thu, 23 Mar 2017 19:26:06 +0530 Subject: swarm/api: support mounting manifests via FUSE (#3690) --- vendor/bazil.org/fuse/fuseutil/fuseutil.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 vendor/bazil.org/fuse/fuseutil/fuseutil.go (limited to 'vendor/bazil.org/fuse/fuseutil/fuseutil.go') diff --git a/vendor/bazil.org/fuse/fuseutil/fuseutil.go b/vendor/bazil.org/fuse/fuseutil/fuseutil.go new file mode 100644 index 000000000..b3f52b73b --- /dev/null +++ b/vendor/bazil.org/fuse/fuseutil/fuseutil.go @@ -0,0 +1,20 @@ +package fuseutil // import "bazil.org/fuse/fuseutil" + +import ( + "bazil.org/fuse" +) + +// HandleRead handles a read request assuming that data is the entire file content. +// It adjusts the amount returned in resp according to req.Offset and req.Size. +func HandleRead(req *fuse.ReadRequest, resp *fuse.ReadResponse, data []byte) { + if req.Offset >= int64(len(data)) { + data = nil + } else { + data = data[req.Offset:] + } + if len(data) > req.Size { + data = data[:req.Size] + } + n := copy(resp.Data[:req.Size], data) + resp.Data = resp.Data[:n] +} -- cgit