Commit 0c679382 authored by Alexander Mikhalitsyn's avatar Alexander Mikhalitsyn Committed by Miklos Szeredi

fs/fuse: introduce and use fuse_simple_idmap_request() helper

Let's convert all existing callers properly.

No functional changes intended.
Suggested-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarAlexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent 3988a60d
...@@ -207,7 +207,7 @@ static int fuse_setup_one_mapping(struct inode *inode, unsigned long start_idx, ...@@ -207,7 +207,7 @@ static int fuse_setup_one_mapping(struct inode *inode, unsigned long start_idx,
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = sizeof(inarg); args.in_args[0].size = sizeof(inarg);
args.in_args[0].value = &inarg; args.in_args[0].value = &inarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err < 0) if (err < 0)
return err; return err;
dmap->writable = writable; dmap->writable = writable;
...@@ -245,7 +245,7 @@ static int fuse_send_removemapping(struct inode *inode, ...@@ -245,7 +245,7 @@ static int fuse_send_removemapping(struct inode *inode,
args.in_args[0].value = inargp; args.in_args[0].value = inargp;
args.in_args[1].size = inargp->count * sizeof(*remove_one); args.in_args[1].size = inargp->count * sizeof(*remove_one);
args.in_args[1].value = remove_one; args.in_args[1].value = remove_one;
return fuse_simple_request(NULL, fm, &args); return fuse_simple_request(fm, &args);
} }
static int dmap_removemapping_list(struct inode *inode, unsigned int num, static int dmap_removemapping_list(struct inode *inode, unsigned int num,
......
...@@ -539,7 +539,7 @@ static void fuse_args_to_req(struct fuse_req *req, struct fuse_args *args) ...@@ -539,7 +539,7 @@ static void fuse_args_to_req(struct fuse_req *req, struct fuse_args *args)
__set_bit(FR_ASYNC, &req->flags); __set_bit(FR_ASYNC, &req->flags);
} }
ssize_t fuse_simple_request(struct mnt_idmap *idmap, ssize_t __fuse_simple_request(struct mnt_idmap *idmap,
struct fuse_mount *fm, struct fuse_mount *fm,
struct fuse_args *args) struct fuse_args *args)
{ {
......
...@@ -230,7 +230,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags) ...@@ -230,7 +230,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
parent = dget_parent(entry); parent = dget_parent(entry);
fuse_lookup_init(fm->fc, &args, get_node_id(d_inode(parent)), fuse_lookup_init(fm->fc, &args, get_node_id(d_inode(parent)),
&entry->d_name, &outarg); &entry->d_name, &outarg);
ret = fuse_simple_request(NULL, fm, &args); ret = fuse_simple_request(fm, &args);
dput(parent); dput(parent);
/* Zero nodeid is same as -ENOENT */ /* Zero nodeid is same as -ENOENT */
if (!ret && !outarg.nodeid) if (!ret && !outarg.nodeid)
...@@ -383,7 +383,7 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name ...@@ -383,7 +383,7 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name
attr_version = fuse_get_attr_version(fm->fc); attr_version = fuse_get_attr_version(fm->fc);
fuse_lookup_init(fm->fc, &args, nodeid, name, outarg); fuse_lookup_init(fm->fc, &args, nodeid, name, outarg);
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
/* Zero nodeid is same as -ENOENT, but with valid timeout */ /* Zero nodeid is same as -ENOENT, but with valid timeout */
if (err || !outarg->nodeid) if (err || !outarg->nodeid)
goto out_put_forget; goto out_put_forget;
...@@ -677,7 +677,7 @@ static int fuse_create_open(struct mnt_idmap *idmap, struct inode *dir, ...@@ -677,7 +677,7 @@ static int fuse_create_open(struct mnt_idmap *idmap, struct inode *dir,
if (err) if (err)
goto out_free_ff; goto out_free_ff;
err = fuse_simple_request(idmap, fm, &args); err = fuse_simple_idmap_request(idmap, fm, &args);
free_ext_value(&args); free_ext_value(&args);
if (err) if (err)
goto out_free_ff; goto out_free_ff;
...@@ -809,7 +809,7 @@ static int create_new_entry(struct mnt_idmap *idmap, struct fuse_mount *fm, ...@@ -809,7 +809,7 @@ static int create_new_entry(struct mnt_idmap *idmap, struct fuse_mount *fm,
goto out_put_forget_req; goto out_put_forget_req;
} }
err = fuse_simple_request(idmap, fm, args); err = fuse_simple_idmap_request(idmap, fm, args);
free_ext_value(args); free_ext_value(args);
if (err) if (err)
goto out_put_forget_req; goto out_put_forget_req;
...@@ -994,7 +994,7 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry) ...@@ -994,7 +994,7 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = entry->d_name.len + 1; args.in_args[0].size = entry->d_name.len + 1;
args.in_args[0].value = entry->d_name.name; args.in_args[0].value = entry->d_name.name;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) { if (!err) {
fuse_dir_changed(dir); fuse_dir_changed(dir);
fuse_entry_unlinked(entry); fuse_entry_unlinked(entry);
...@@ -1017,7 +1017,7 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry) ...@@ -1017,7 +1017,7 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = entry->d_name.len + 1; args.in_args[0].size = entry->d_name.len + 1;
args.in_args[0].value = entry->d_name.name; args.in_args[0].value = entry->d_name.name;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) { if (!err) {
fuse_dir_changed(dir); fuse_dir_changed(dir);
fuse_entry_unlinked(entry); fuse_entry_unlinked(entry);
...@@ -1047,7 +1047,7 @@ static int fuse_rename_common(struct mnt_idmap *idmap, struct inode *olddir, str ...@@ -1047,7 +1047,7 @@ static int fuse_rename_common(struct mnt_idmap *idmap, struct inode *olddir, str
args.in_args[1].value = oldent->d_name.name; args.in_args[1].value = oldent->d_name.name;
args.in_args[2].size = newent->d_name.len + 1; args.in_args[2].size = newent->d_name.len + 1;
args.in_args[2].value = newent->d_name.name; args.in_args[2].value = newent->d_name.name;
err = fuse_simple_request(idmap, fm, &args); err = fuse_simple_idmap_request(idmap, fm, &args);
if (!err) { if (!err) {
/* ctime changes */ /* ctime changes */
fuse_update_ctime(d_inode(oldent)); fuse_update_ctime(d_inode(oldent));
...@@ -1222,7 +1222,7 @@ static int fuse_do_statx(struct mnt_idmap *idmap, struct inode *inode, ...@@ -1222,7 +1222,7 @@ static int fuse_do_statx(struct mnt_idmap *idmap, struct inode *inode,
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err) if (err)
return err; return err;
...@@ -1280,7 +1280,7 @@ static int fuse_do_getattr(struct mnt_idmap *idmap, struct inode *inode, ...@@ -1280,7 +1280,7 @@ static int fuse_do_getattr(struct mnt_idmap *idmap, struct inode *inode,
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) { if (!err) {
if (fuse_invalid_attr(&outarg.attr) || if (fuse_invalid_attr(&outarg.attr) ||
inode_wrong_type(inode, outarg.attr.mode)) { inode_wrong_type(inode, outarg.attr.mode)) {
...@@ -1492,7 +1492,7 @@ static int fuse_access(struct inode *inode, int mask) ...@@ -1492,7 +1492,7 @@ static int fuse_access(struct inode *inode, int mask)
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = sizeof(inarg); args.in_args[0].size = sizeof(inarg);
args.in_args[0].value = &inarg; args.in_args[0].value = &inarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_access = 1; fm->fc->no_access = 1;
err = 0; err = 0;
...@@ -1604,7 +1604,7 @@ static int fuse_readlink_page(struct inode *inode, struct page *page) ...@@ -1604,7 +1604,7 @@ static int fuse_readlink_page(struct inode *inode, struct page *page)
ap.args.page_zeroing = true; ap.args.page_zeroing = true;
ap.args.out_numargs = 1; ap.args.out_numargs = 1;
ap.args.out_args[0].size = desc.length; ap.args.out_args[0].size = desc.length;
res = fuse_simple_request(NULL, fm, &ap.args); res = fuse_simple_request(fm, &ap.args);
fuse_invalidate_atime(inode); fuse_invalidate_atime(inode);
...@@ -1889,7 +1889,7 @@ int fuse_flush_times(struct inode *inode, struct fuse_file *ff) ...@@ -1889,7 +1889,7 @@ int fuse_flush_times(struct inode *inode, struct fuse_file *ff)
} }
fuse_setattr_fill(fm->fc, &args, inode, &inarg, &outarg); fuse_setattr_fill(fm->fc, &args, inode, &inarg, &outarg);
return fuse_simple_request(NULL, fm, &args); return fuse_simple_request(fm, &args);
} }
/* /*
...@@ -2002,7 +2002,7 @@ int fuse_do_setattr(struct mnt_idmap *idmap, struct dentry *dentry, ...@@ -2002,7 +2002,7 @@ int fuse_do_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
inarg.valid |= FATTR_KILL_SUIDGID; inarg.valid |= FATTR_KILL_SUIDGID;
} }
fuse_setattr_fill(fc, &args, inode, &inarg, &outarg); fuse_setattr_fill(fc, &args, inode, &inarg, &outarg);
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err) { if (err) {
if (err == -EINTR) if (err == -EINTR)
fuse_invalidate_attr(inode); fuse_invalidate_attr(inode);
......
...@@ -48,7 +48,7 @@ static int fuse_send_open(struct fuse_mount *fm, u64 nodeid, ...@@ -48,7 +48,7 @@ static int fuse_send_open(struct fuse_mount *fm, u64 nodeid,
args.out_args[0].size = sizeof(*outargp); args.out_args[0].size = sizeof(*outargp);
args.out_args[0].value = outargp; args.out_args[0].value = outargp;
return fuse_simple_request(NULL, fm, &args); return fuse_simple_request(fm, &args);
} }
struct fuse_file *fuse_file_alloc(struct fuse_mount *fm, bool release) struct fuse_file *fuse_file_alloc(struct fuse_mount *fm, bool release)
...@@ -111,7 +111,7 @@ static void fuse_file_put(struct fuse_file *ff, bool sync) ...@@ -111,7 +111,7 @@ static void fuse_file_put(struct fuse_file *ff, bool sync)
if (!args) { if (!args) {
/* Do nothing when server does not implement 'open' */ /* Do nothing when server does not implement 'open' */
} else if (sync) { } else if (sync) {
fuse_simple_request(NULL, ff->fm, args); fuse_simple_request(ff->fm, args);
fuse_release_end(ff->fm, args, 0); fuse_release_end(ff->fm, args, 0);
} else { } else {
args->end = fuse_release_end; args->end = fuse_release_end;
...@@ -539,7 +539,7 @@ static int fuse_flush(struct file *file, fl_owner_t id) ...@@ -539,7 +539,7 @@ static int fuse_flush(struct file *file, fl_owner_t id)
args.in_args[0].value = &inarg; args.in_args[0].value = &inarg;
args.force = true; args.force = true;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_flush = 1; fm->fc->no_flush = 1;
err = 0; err = 0;
...@@ -572,7 +572,7 @@ int fuse_fsync_common(struct file *file, loff_t start, loff_t end, ...@@ -572,7 +572,7 @@ int fuse_fsync_common(struct file *file, loff_t start, loff_t end,
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = sizeof(inarg); args.in_args[0].size = sizeof(inarg);
args.in_args[0].value = &inarg; args.in_args[0].value = &inarg;
return fuse_simple_request(NULL, fm, &args); return fuse_simple_request(fm, &args);
} }
static int fuse_fsync(struct file *file, loff_t start, loff_t end, static int fuse_fsync(struct file *file, loff_t start, loff_t end,
...@@ -814,7 +814,7 @@ static ssize_t fuse_send_read(struct fuse_io_args *ia, loff_t pos, size_t count, ...@@ -814,7 +814,7 @@ static ssize_t fuse_send_read(struct fuse_io_args *ia, loff_t pos, size_t count,
if (ia->io->async) if (ia->io->async)
return fuse_async_req_send(fm, ia, count); return fuse_async_req_send(fm, ia, count);
return fuse_simple_request(NULL, fm, &ia->ap.args); return fuse_simple_request(fm, &ia->ap.args);
} }
static void fuse_read_update_size(struct inode *inode, loff_t size, static void fuse_read_update_size(struct inode *inode, loff_t size,
...@@ -878,7 +878,7 @@ static int fuse_do_readpage(struct file *file, struct page *page) ...@@ -878,7 +878,7 @@ static int fuse_do_readpage(struct file *file, struct page *page)
desc.length--; desc.length--;
fuse_read_args_fill(&ia, file, pos, desc.length, FUSE_READ); fuse_read_args_fill(&ia, file, pos, desc.length, FUSE_READ);
res = fuse_simple_request(NULL, fm, &ia.ap.args); res = fuse_simple_request(fm, &ia.ap.args);
if (res < 0) if (res < 0)
return res; return res;
/* /*
...@@ -976,7 +976,7 @@ static void fuse_send_readpages(struct fuse_io_args *ia, struct file *file) ...@@ -976,7 +976,7 @@ static void fuse_send_readpages(struct fuse_io_args *ia, struct file *file)
if (!err) if (!err)
return; return;
} else { } else {
res = fuse_simple_request(NULL, fm, &ap->args); res = fuse_simple_request(fm, &ap->args);
err = res < 0 ? res : 0; err = res < 0 ? res : 0;
} }
fuse_readpages_end(fm, &ap->args, err); fuse_readpages_end(fm, &ap->args, err);
...@@ -1101,7 +1101,7 @@ static ssize_t fuse_send_write(struct fuse_io_args *ia, loff_t pos, ...@@ -1101,7 +1101,7 @@ static ssize_t fuse_send_write(struct fuse_io_args *ia, loff_t pos,
if (ia->io->async) if (ia->io->async)
return fuse_async_req_send(fm, ia, count); return fuse_async_req_send(fm, ia, count);
err = fuse_simple_request(NULL, fm, &ia->ap.args); err = fuse_simple_request(fm, &ia->ap.args);
if (!err && ia->write.out.size > count) if (!err && ia->write.out.size > count)
err = -EIO; err = -EIO;
...@@ -1147,7 +1147,7 @@ static ssize_t fuse_send_write_pages(struct fuse_io_args *ia, ...@@ -1147,7 +1147,7 @@ static ssize_t fuse_send_write_pages(struct fuse_io_args *ia,
if (fm->fc->handle_killpriv_v2 && !capable(CAP_FSETID)) if (fm->fc->handle_killpriv_v2 && !capable(CAP_FSETID))
ia->write.in.write_flags |= FUSE_WRITE_KILL_SUIDGID; ia->write.in.write_flags |= FUSE_WRITE_KILL_SUIDGID;
err = fuse_simple_request(NULL, fm, &ap->args); err = fuse_simple_request(fm, &ap->args);
if (!err && ia->write.out.size > count) if (!err && ia->write.out.size > count)
err = -EIO; err = -EIO;
...@@ -2662,7 +2662,7 @@ static int fuse_getlk(struct file *file, struct file_lock *fl) ...@@ -2662,7 +2662,7 @@ static int fuse_getlk(struct file *file, struct file_lock *fl)
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) if (!err)
err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl); err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl);
...@@ -2686,7 +2686,7 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock) ...@@ -2686,7 +2686,7 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock)
} }
fuse_lk_fill(&args, file, fl, opcode, pid_nr, flock, &inarg); fuse_lk_fill(&args, file, fl, opcode, pid_nr, flock, &inarg);
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
/* locking is restartable */ /* locking is restartable */
if (err == -EINTR) if (err == -EINTR)
...@@ -2760,7 +2760,7 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block) ...@@ -2760,7 +2760,7 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block)
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) if (err == -ENOSYS)
fm->fc->no_bmap = 1; fm->fc->no_bmap = 1;
...@@ -2792,7 +2792,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence) ...@@ -2792,7 +2792,7 @@ static loff_t fuse_lseek(struct file *file, loff_t offset, int whence)
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err) { if (err) {
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_lseek = 1; fm->fc->no_lseek = 1;
...@@ -2925,7 +2925,7 @@ __poll_t fuse_file_poll(struct file *file, poll_table *wait) ...@@ -2925,7 +2925,7 @@ __poll_t fuse_file_poll(struct file *file, poll_table *wait)
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) if (!err)
return demangle_poll(outarg.revents); return demangle_poll(outarg.revents);
...@@ -3147,7 +3147,7 @@ static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, ...@@ -3147,7 +3147,7 @@ static long fuse_file_fallocate(struct file *file, int mode, loff_t offset,
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = sizeof(inarg); args.in_args[0].size = sizeof(inarg);
args.in_args[0].value = &inarg; args.in_args[0].value = &inarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_fallocate = 1; fm->fc->no_fallocate = 1;
err = -EOPNOTSUPP; err = -EOPNOTSUPP;
...@@ -3259,7 +3259,7 @@ static ssize_t __fuse_copy_file_range(struct file *file_in, loff_t pos_in, ...@@ -3259,7 +3259,7 @@ static ssize_t __fuse_copy_file_range(struct file *file_in, loff_t pos_in,
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fc->no_copy_file_range = 1; fc->no_copy_file_range = 1;
err = -EOPNOTSUPP; err = -EOPNOTSUPP;
......
...@@ -1147,8 +1147,22 @@ void __exit fuse_ctl_cleanup(void); ...@@ -1147,8 +1147,22 @@ void __exit fuse_ctl_cleanup(void);
/** /**
* Simple request sending that does request allocation and freeing * Simple request sending that does request allocation and freeing
*/ */
ssize_t fuse_simple_request(struct mnt_idmap *idmap, struct fuse_mount *fm, ssize_t __fuse_simple_request(struct mnt_idmap *idmap,
struct fuse_mount *fm,
struct fuse_args *args); struct fuse_args *args);
static inline ssize_t fuse_simple_request(struct fuse_mount *fm, struct fuse_args *args)
{
return __fuse_simple_request(NULL, fm, args);
}
static inline ssize_t fuse_simple_idmap_request(struct mnt_idmap *idmap,
struct fuse_mount *fm,
struct fuse_args *args)
{
return __fuse_simple_request(idmap, fm, args);
}
int fuse_simple_background(struct fuse_mount *fm, struct fuse_args *args, int fuse_simple_background(struct fuse_mount *fm, struct fuse_args *args,
gfp_t gfp_flags); gfp_t gfp_flags);
......
...@@ -586,7 +586,7 @@ static void fuse_send_destroy(struct fuse_mount *fm) ...@@ -586,7 +586,7 @@ static void fuse_send_destroy(struct fuse_mount *fm)
args.opcode = FUSE_DESTROY; args.opcode = FUSE_DESTROY;
args.force = true; args.force = true;
args.nocreds = true; args.nocreds = true;
fuse_simple_request(NULL, fm, &args); fuse_simple_request(fm, &args);
} }
} }
...@@ -624,7 +624,7 @@ static int fuse_statfs(struct dentry *dentry, struct kstatfs *buf) ...@@ -624,7 +624,7 @@ static int fuse_statfs(struct dentry *dentry, struct kstatfs *buf)
args.out_numargs = 1; args.out_numargs = 1;
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (!err) if (!err)
convert_fuse_statfs(buf, &outarg.st); convert_fuse_statfs(buf, &outarg.st);
return err; return err;
...@@ -713,7 +713,7 @@ static int fuse_sync_fs(struct super_block *sb, int wait) ...@@ -713,7 +713,7 @@ static int fuse_sync_fs(struct super_block *sb, int wait)
args.nodeid = get_node_id(sb->s_root->d_inode); args.nodeid = get_node_id(sb->s_root->d_inode);
args.out_numargs = 0; args.out_numargs = 0;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fc->sync_fs = 0; fc->sync_fs = 0;
err = 0; err = 0;
......
...@@ -18,7 +18,7 @@ static ssize_t fuse_send_ioctl(struct fuse_mount *fm, struct fuse_args *args, ...@@ -18,7 +18,7 @@ static ssize_t fuse_send_ioctl(struct fuse_mount *fm, struct fuse_args *args,
args->out_args[0].size = sizeof(*outarg); args->out_args[0].size = sizeof(*outarg);
args->out_args[0].value = outarg; args->out_args[0].value = outarg;
ret = fuse_simple_request(NULL, fm, args); ret = fuse_simple_request(fm, args);
/* Translate ENOSYS, which shouldn't be returned from fs */ /* Translate ENOSYS, which shouldn't be returned from fs */
if (ret == -ENOSYS) if (ret == -ENOSYS)
......
...@@ -279,7 +279,7 @@ static void fuse_force_forget(struct file *file, u64 nodeid) ...@@ -279,7 +279,7 @@ static void fuse_force_forget(struct file *file, u64 nodeid)
args.force = true; args.force = true;
args.noreply = true; args.noreply = true;
fuse_simple_request(NULL, fm, &args); fuse_simple_request(fm, &args);
/* ignore errors */ /* ignore errors */
} }
...@@ -358,7 +358,7 @@ static int fuse_readdir_uncached(struct file *file, struct dir_context *ctx) ...@@ -358,7 +358,7 @@ static int fuse_readdir_uncached(struct file *file, struct dir_context *ctx)
FUSE_READDIR); FUSE_READDIR);
} }
locked = fuse_lock_inode(inode); locked = fuse_lock_inode(inode);
res = fuse_simple_request(NULL, fm, &ap->args); res = fuse_simple_request(fm, &ap->args);
fuse_unlock_inode(inode, locked); fuse_unlock_inode(inode, locked);
if (res >= 0) { if (res >= 0) {
if (!res) { if (!res) {
......
...@@ -37,7 +37,7 @@ int fuse_setxattr(struct inode *inode, const char *name, const void *value, ...@@ -37,7 +37,7 @@ int fuse_setxattr(struct inode *inode, const char *name, const void *value,
args.in_args[1].value = name; args.in_args[1].value = name;
args.in_args[2].size = size; args.in_args[2].size = size;
args.in_args[2].value = value; args.in_args[2].value = value;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_setxattr = 1; fm->fc->no_setxattr = 1;
err = -EOPNOTSUPP; err = -EOPNOTSUPP;
...@@ -79,7 +79,7 @@ ssize_t fuse_getxattr(struct inode *inode, const char *name, void *value, ...@@ -79,7 +79,7 @@ ssize_t fuse_getxattr(struct inode *inode, const char *name, void *value,
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
} }
ret = fuse_simple_request(NULL, fm, &args); ret = fuse_simple_request(fm, &args);
if (!ret && !size) if (!ret && !size)
ret = min_t(size_t, outarg.size, XATTR_SIZE_MAX); ret = min_t(size_t, outarg.size, XATTR_SIZE_MAX);
if (ret == -ENOSYS) { if (ret == -ENOSYS) {
...@@ -141,7 +141,7 @@ ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size) ...@@ -141,7 +141,7 @@ ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size)
args.out_args[0].size = sizeof(outarg); args.out_args[0].size = sizeof(outarg);
args.out_args[0].value = &outarg; args.out_args[0].value = &outarg;
} }
ret = fuse_simple_request(NULL, fm, &args); ret = fuse_simple_request(fm, &args);
if (!ret && !size) if (!ret && !size)
ret = min_t(size_t, outarg.size, XATTR_LIST_MAX); ret = min_t(size_t, outarg.size, XATTR_LIST_MAX);
if (ret > 0 && size) if (ret > 0 && size)
...@@ -167,7 +167,7 @@ int fuse_removexattr(struct inode *inode, const char *name) ...@@ -167,7 +167,7 @@ int fuse_removexattr(struct inode *inode, const char *name)
args.in_numargs = 1; args.in_numargs = 1;
args.in_args[0].size = strlen(name) + 1; args.in_args[0].size = strlen(name) + 1;
args.in_args[0].value = name; args.in_args[0].value = name;
err = fuse_simple_request(NULL, fm, &args); err = fuse_simple_request(fm, &args);
if (err == -ENOSYS) { if (err == -ENOSYS) {
fm->fc->no_removexattr = 1; fm->fc->no_removexattr = 1;
err = -EOPNOTSUPP; err = -EOPNOTSUPP;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment