forked from Minki/linux
fuse: convert fuse_force_forget() to simple api
Move this function to the readdir.c where its only caller resides. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
454a7613f5
commit
3545fe2112
@ -661,27 +661,6 @@ static int fuse_request_send_notify_reply(struct fuse_conn *fc,
|
||||
return err;
|
||||
}
|
||||
|
||||
void fuse_force_forget(struct file *file, u64 nodeid)
|
||||
{
|
||||
struct inode *inode = file_inode(file);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
struct fuse_req *req;
|
||||
struct fuse_forget_in inarg;
|
||||
|
||||
memset(&inarg, 0, sizeof(inarg));
|
||||
inarg.nlookup = 1;
|
||||
req = fuse_get_req_nofail_nopages(fc);
|
||||
req->in.h.opcode = FUSE_FORGET;
|
||||
req->in.h.nodeid = nodeid;
|
||||
req->in.numargs = 1;
|
||||
req->in.args[0].size = sizeof(inarg);
|
||||
req->in.args[0].value = &inarg;
|
||||
__clear_bit(FR_ISREPLY, &req->flags);
|
||||
__fuse_request_send(fc, req);
|
||||
/* ignore errors */
|
||||
fuse_put_request(fc, req);
|
||||
}
|
||||
|
||||
/*
|
||||
* Lock the request. Up to the next unlock_request() there mustn't be
|
||||
* anything that could cause a page-fault. If the request was already
|
||||
|
@ -813,9 +813,6 @@ void fuse_queue_forget(struct fuse_conn *fc, struct fuse_forget_link *forget,
|
||||
|
||||
struct fuse_forget_link *fuse_alloc_forget(void);
|
||||
|
||||
/* Used by READDIRPLUS */
|
||||
void fuse_force_forget(struct file *file, u64 nodeid);
|
||||
|
||||
/**
|
||||
* Initialize READ or READDIR request
|
||||
*/
|
||||
|
@ -249,6 +249,27 @@ retry:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void fuse_force_forget(struct file *file, u64 nodeid)
|
||||
{
|
||||
struct inode *inode = file_inode(file);
|
||||
struct fuse_conn *fc = get_fuse_conn(inode);
|
||||
struct fuse_forget_in inarg;
|
||||
FUSE_ARGS(args);
|
||||
|
||||
memset(&inarg, 0, sizeof(inarg));
|
||||
inarg.nlookup = 1;
|
||||
args.opcode = FUSE_FORGET;
|
||||
args.nodeid = nodeid;
|
||||
args.in_numargs = 1;
|
||||
args.in_args[0].size = sizeof(inarg);
|
||||
args.in_args[0].value = &inarg;
|
||||
args.force = true;
|
||||
args.noreply = true;
|
||||
|
||||
fuse_simple_request(fc, &args);
|
||||
/* ignore errors */
|
||||
}
|
||||
|
||||
static int parse_dirplusfile(char *buf, size_t nbytes, struct file *file,
|
||||
struct dir_context *ctx, u64 attr_version)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user