mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
fuse: clean up fuse_write_fill()
Move out code from fuse_write_fill() which is not common to all callers. Remove two function arguments which become unnecessary. Also remove unnecessary memset(), the request is already initialized to zero. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
b0be46ebf7
commit
2d698b0703
@ -613,20 +613,16 @@ static ssize_t fuse_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
|
||||
return generic_file_aio_read(iocb, iov, nr_segs, pos);
|
||||
}
|
||||
|
||||
static void fuse_write_fill(struct fuse_req *req, struct file *file,
|
||||
struct fuse_file *ff, struct inode *inode,
|
||||
loff_t pos, size_t count, int writepage)
|
||||
static void fuse_write_fill(struct fuse_req *req, struct fuse_file *ff,
|
||||
struct inode *inode, loff_t pos, size_t count)
|
||||
{
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
struct fuse_write_in *inarg = &req->misc.write.in;
|
||||
struct fuse_write_out *outarg = &req->misc.write.out;
|
||||
|
||||
memset(inarg, 0, sizeof(struct fuse_write_in));
|
||||
inarg->fh = ff->fh;
|
||||
inarg->offset = pos;
|
||||
inarg->size = count;
|
||||
inarg->write_flags = writepage ? FUSE_WRITE_CACHE : 0;
|
||||
inarg->flags = file ? file->f_flags : 0;
|
||||
req->in.h.opcode = FUSE_WRITE;
|
||||
req->in.h.nodeid = get_node_id(inode);
|
||||
req->in.numargs = 2;
|
||||
@ -646,9 +642,11 @@ static size_t fuse_send_write(struct fuse_req *req, struct file *file,
|
||||
fl_owner_t owner)
|
||||
{
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
fuse_write_fill(req, file, file->private_data, inode, pos, count, 0);
|
||||
struct fuse_write_in *inarg = &req->misc.write.in;
|
||||
|
||||
fuse_write_fill(req, file->private_data, inode, pos, count);
|
||||
inarg->flags = file->f_flags;
|
||||
if (owner != NULL) {
|
||||
struct fuse_write_in *inarg = &req->misc.write.in;
|
||||
inarg->write_flags |= FUSE_WRITE_LOCKOWNER;
|
||||
inarg->lock_owner = fuse_lock_owner_id(fc, owner);
|
||||
}
|
||||
@ -1183,9 +1181,10 @@ static int fuse_writepage_locked(struct page *page)
|
||||
req->ff = fuse_file_get(ff);
|
||||
spin_unlock(&fc->lock);
|
||||
|
||||
fuse_write_fill(req, NULL, ff, inode, page_offset(page), 0, 1);
|
||||
fuse_write_fill(req, ff, inode, page_offset(page), 0);
|
||||
|
||||
copy_highpage(tmp_page, page);
|
||||
req->misc.write.in.write_flags |= FUSE_WRITE_CACHE;
|
||||
req->in.argpages = 1;
|
||||
req->num_pages = 1;
|
||||
req->pages[0] = tmp_page;
|
||||
|
Loading…
Reference in New Issue
Block a user