tree 1ea2a3c04a18b9c00909c7ebcef925b96f9a7f80
parent f704dcb538eb80b7f5b26281a79b8e29a8e24d62
author Miklos Szeredi <mszeredi@suse.cz> 1418374145 +0100
committer Miklos Szeredi <mszeredi@suse.cz> 1418374145 +0100

fuse: introduce fuse_simple_request() helper

The following pattern is repeated many times:

	req = fuse_get_req_nopages(fc);
	/* Initialize req->(in|out).args */
	fuse_request_send(fc, req);
	err = req->out.h.error;
	fuse_put_request(req);

Create a new replacement helper:

	/* Initialize args */
	err = fuse_simple_request(fc, &args);

In addition to reducing the code size, this will ease moving from the
complex arg-based to a simpler page-based I/O on the fuse device.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
