From 7819846300dc036fb94569feff4f86cd33b459d9 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Thu, 19 May 2011 15:30:01 +0200 Subject: Add ->forget_multi() operation Add ->forget_multi() operation to the lowlevel API. The filesystem may implement this to process multiple forget requests in one call --- lib/fuse_lowlevel.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/fuse_lowlevel.c') diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index 4643a8a..faa415a 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -906,7 +906,10 @@ static void do_batch_forget(fuse_req_t req, fuse_ino_t nodeid, (void) nodeid; - if (req->f->op.forget) { + if (req->f->op.forget_multi) { + req->f->op.forget_multi(req, arg->count, + (struct fuse_forget_data *) param); + } else if (req->f->op.forget) { for (i = 0; i < arg->count; i++) { struct fuse_forget_one *forget = ¶m[i]; struct fuse_req *dummy_req; @@ -922,8 +925,10 @@ static void do_batch_forget(fuse_req_t req, fuse_ino_t nodeid, req->f->op.forget(dummy_req, forget->nodeid, forget->nlookup); } + fuse_reply_none(req); + } else { + fuse_reply_none(req); } - fuse_reply_none(req); } static void do_getattr(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) -- cgit v1.2.3