Message ID | 20210209190224.62827-15-dgilbert@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtiofs dax patches | expand |
On Tue, Feb 09, 2021 at 07:02:14PM +0000, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > We're going to need to pass the session down to destroy so that it can > pass it back to do the remove mapping. > > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > tools/virtiofsd/fuse_lowlevel.c | 6 +++--- > tools/virtiofsd/fuse_lowlevel.h | 2 +- > tools/virtiofsd/passthrough_ll.c | 2 +- > 3 files changed, 5 insertions(+), 5 deletions(-) Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/tools/virtiofsd/fuse_lowlevel.c b/tools/virtiofsd/fuse_lowlevel.c index f74583e095..99ba000c2e 100644 --- a/tools/virtiofsd/fuse_lowlevel.c +++ b/tools/virtiofsd/fuse_lowlevel.c @@ -2212,7 +2212,7 @@ static void do_destroy(fuse_req_t req, fuse_ino_t nodeid, se->got_destroy = 1; se->got_init = 0; if (se->op.destroy) { - se->op.destroy(se->userdata); + se->op.destroy(se->userdata, se); } send_reply_ok(req, NULL, 0); @@ -2439,7 +2439,7 @@ void fuse_session_process_buf_int(struct fuse_session *se, se->got_destroy = 1; se->got_init = 0; if (se->op.destroy) { - se->op.destroy(se->userdata); + se->op.destroy(se->userdata, se); } } else { goto reply_err; @@ -2527,7 +2527,7 @@ void fuse_session_destroy(struct fuse_session *se) { if (se->got_init && !se->got_destroy) { if (se->op.destroy) { - se->op.destroy(se->userdata); + se->op.destroy(se->userdata, se); } } pthread_rwlock_destroy(&se->init_rwlock); diff --git a/tools/virtiofsd/fuse_lowlevel.h b/tools/virtiofsd/fuse_lowlevel.h index 014564ff07..53439f5432 100644 --- a/tools/virtiofsd/fuse_lowlevel.h +++ b/tools/virtiofsd/fuse_lowlevel.h @@ -208,7 +208,7 @@ struct fuse_lowlevel_ops { * * @param userdata the user data passed to fuse_session_new() */ - void (*destroy)(void *userdata); + void (*destroy)(void *userdata, struct fuse_session *se); /** * Look up a directory entry by name and get its attributes. diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c index 971ff2b2ea..badac23fef 100644 --- a/tools/virtiofsd/passthrough_ll.c +++ b/tools/virtiofsd/passthrough_ll.c @@ -2943,7 +2943,7 @@ static void lo_lseek(fuse_req_t req, fuse_ino_t ino, off_t off, int whence, } } -static void lo_destroy(void *userdata) +static void lo_destroy(void *userdata, struct fuse_session *se) { struct lo_data *lo = (struct lo_data *)userdata;