Message ID | 20241127-fuse-uring-for-6-10-rfc4-v7-1-934b3a69baca@ddn.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | fuse: fuse-over-io-uring | expand |
On Wed, Nov 27, 2024 at 5:41 AM Bernd Schubert <bschubert@ddn.com> wrote: > > This function is needed by fuse_uring.c to clean ring queues, > so make it non static. Especially in non-static mode the function > name 'end_requests' should be prefixed with fuse_ > > Signed-off-by: Bernd Schubert <bschubert@ddn.com> > Reviewed-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: Joanne Koong <joannelkoong@gmail.com> > --- > fs/fuse/dev.c | 11 +++++------ > fs/fuse/fuse_dev_i.h | 14 ++++++++++++++ > 2 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c > index 1f64ae6d7a69e53c8d96f2e1f5caca3ff2b4ab26..09b73044a9b6748767d2479dda0a09a97b8b4c0f 100644 > --- a/fs/fuse/dev.c > +++ b/fs/fuse/dev.c > @@ -7,6 +7,7 @@ > */ > > #include "fuse_i.h" > +#include "fuse_dev_i.h" > > #include <linux/init.h> > #include <linux/module.h> > @@ -34,8 +35,6 @@ MODULE_ALIAS("devname:fuse"); > > static struct kmem_cache *fuse_req_cachep; > > -static void end_requests(struct list_head *head); > - > static struct fuse_dev *fuse_get_dev(struct file *file) > { > /* > @@ -1873,7 +1872,7 @@ static void fuse_resend(struct fuse_conn *fc) > spin_unlock(&fiq->lock); > list_for_each_entry(req, &to_queue, list) > clear_bit(FR_PENDING, &req->flags); > - end_requests(&to_queue); > + fuse_dev_end_requests(&to_queue); > return; > } > /* iq and pq requests are both oldest to newest */ > @@ -2192,7 +2191,7 @@ static __poll_t fuse_dev_poll(struct file *file, poll_table *wait) > } > > /* Abort all requests on the given list (pending or processing) */ > -static void end_requests(struct list_head *head) > +void fuse_dev_end_requests(struct list_head *head) > { > while (!list_empty(head)) { > struct fuse_req *req; > @@ -2295,7 +2294,7 @@ void fuse_abort_conn(struct fuse_conn *fc) > wake_up_all(&fc->blocked_waitq); > spin_unlock(&fc->lock); > > - end_requests(&to_end); > + fuse_dev_end_requests(&to_end); > } else { > spin_unlock(&fc->lock); > } > @@ -2325,7 +2324,7 @@ int fuse_dev_release(struct inode *inode, struct file *file) > list_splice_init(&fpq->processing[i], &to_end); > spin_unlock(&fpq->lock); > > - end_requests(&to_end); > + fuse_dev_end_requests(&to_end); > > /* Are we the last open device? */ > if (atomic_dec_and_test(&fc->dev_count)) { > diff --git a/fs/fuse/fuse_dev_i.h b/fs/fuse/fuse_dev_i.h > new file mode 100644 > index 0000000000000000000000000000000000000000..4fcff2223fa60fbfb844a3f8e1252a523c4c01af > --- /dev/null > +++ b/fs/fuse/fuse_dev_i.h > @@ -0,0 +1,14 @@ > +/* SPDX-License-Identifier: GPL-2.0 > + * > + * FUSE: Filesystem in Userspace > + * Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> > + */ > +#ifndef _FS_FUSE_DEV_I_H > +#define _FS_FUSE_DEV_I_H > + > +#include <linux/types.h> > + > +void fuse_dev_end_requests(struct list_head *head); > + > +#endif > + > > -- > 2.43.0 >
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 1f64ae6d7a69e53c8d96f2e1f5caca3ff2b4ab26..09b73044a9b6748767d2479dda0a09a97b8b4c0f 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -7,6 +7,7 @@ */ #include "fuse_i.h" +#include "fuse_dev_i.h" #include <linux/init.h> #include <linux/module.h> @@ -34,8 +35,6 @@ MODULE_ALIAS("devname:fuse"); static struct kmem_cache *fuse_req_cachep; -static void end_requests(struct list_head *head); - static struct fuse_dev *fuse_get_dev(struct file *file) { /* @@ -1873,7 +1872,7 @@ static void fuse_resend(struct fuse_conn *fc) spin_unlock(&fiq->lock); list_for_each_entry(req, &to_queue, list) clear_bit(FR_PENDING, &req->flags); - end_requests(&to_queue); + fuse_dev_end_requests(&to_queue); return; } /* iq and pq requests are both oldest to newest */ @@ -2192,7 +2191,7 @@ static __poll_t fuse_dev_poll(struct file *file, poll_table *wait) } /* Abort all requests on the given list (pending or processing) */ -static void end_requests(struct list_head *head) +void fuse_dev_end_requests(struct list_head *head) { while (!list_empty(head)) { struct fuse_req *req; @@ -2295,7 +2294,7 @@ void fuse_abort_conn(struct fuse_conn *fc) wake_up_all(&fc->blocked_waitq); spin_unlock(&fc->lock); - end_requests(&to_end); + fuse_dev_end_requests(&to_end); } else { spin_unlock(&fc->lock); } @@ -2325,7 +2324,7 @@ int fuse_dev_release(struct inode *inode, struct file *file) list_splice_init(&fpq->processing[i], &to_end); spin_unlock(&fpq->lock); - end_requests(&to_end); + fuse_dev_end_requests(&to_end); /* Are we the last open device? */ if (atomic_dec_and_test(&fc->dev_count)) { diff --git a/fs/fuse/fuse_dev_i.h b/fs/fuse/fuse_dev_i.h new file mode 100644 index 0000000000000000000000000000000000000000..4fcff2223fa60fbfb844a3f8e1252a523c4c01af --- /dev/null +++ b/fs/fuse/fuse_dev_i.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * FUSE: Filesystem in Userspace + * Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> + */ +#ifndef _FS_FUSE_DEV_I_H +#define _FS_FUSE_DEV_I_H + +#include <linux/types.h> + +void fuse_dev_end_requests(struct list_head *head); + +#endif +