Displaying 14 results from an estimated 14 matches for "virtio_fs_fiq_ops".
2019 Nov 12
0
[PATCH v2] virtiofs: Use static const, not const static
...2:1: warning: ?static? is not at beginning of declaration [-Wold-style-declaration]
> const static unsigned int feature_table[] = {};
> ^
> fs/fuse/virtio_fs.c:1029:1: warning: ?static? is not at beginning of declaration [-Wold-style-declaration]
> const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
>
> Reported-by: Hulk Robot <hulkci at huawei.com>
> Signed-off-by: zhengbin <zhengbin13 at huawei.com>
Acked-by: Vivek Goyal <vgoyal at redhat.com>
Vivek
> ---
> v1->v2: modify comment
> fs/fuse/virtio_fs.c | 6 +++---
> 1 file changed, 3 insertion...
2019 Nov 11
0
[PATCH] virtiofs: Use static const, not const static
...ed int feature_table[] = {};
> +static const unsigned int feature_table[] = {};
>
> static struct virtio_driver virtio_fs_driver = {
> .driver.name = KBUILD_MODNAME,
> @@ -1026,7 +1026,7 @@ __releases(fiq->lock)
> }
> }
>
> -const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> +static const struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> .wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
> .wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
> .wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
> --
> 2.7.4
&g...
2019 Nov 11
1
[PATCH -next] virtiofs: Fix old-style declaration
..._ANY_ID },
{},
};
-const static unsigned int feature_table[] = {};
+static const unsigned int feature_table[] = {};
static struct virtio_driver virtio_fs_driver = {
.driver.name = KBUILD_MODNAME,
@@ -1026,7 +1026,7 @@ __releases(fiq->lock)
}
}
-const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
+static const struct fuse_iqueue_ops virtio_fs_fiq_ops = {
.wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
.wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
.wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
--
2.7.4
2019 Sep 05
0
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...virtio_fs_mutex);
- list_del(&fs->list);
- mutex_unlock(&virtio_fs_mutex);
-
vdev->priv = NULL;
- kfree(fs->vqs);
- kfree(fs);
+ /* Put device reference on virtio_fs object */
+ virtiofs_put(fs);
}
#ifdef CONFIG_PM_SLEEP
@@ -932,6 +957,7 @@ const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
.wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
.wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
.wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
+ .put = virtio_fs_put,
};
static int virtio_fs_fill_super(struct super_block *sb)
@@ -1026,7...
2019 Sep 05
0
[PATCH 08/18] virtiofs: Drain all pending requests during ->remove time
...gt;lock);
-
- /* Wait for in flight requests to finish.*/
- while (1) {
- spin_lock(&fsvq->lock);
- if (!fsvq->in_flight) {
- spin_unlock(&fsvq->lock);
- break;
- }
- spin_unlock(&fsvq->lock);
- usleep_range(1000, 2000);
- }
-}
-
const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
.wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
.wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
@@ -988,7 +1007,7 @@ static void virtio_kill_sb(struct super_block *sb)
spin_lock(&fsvq->lock);
fsvq->connected = false;
spin_unlock(&fsvq->l...
2019 Nov 12
0
[PATCH v2] virtiofs: Use static const, not const static
...2:1: warning: ?static? is not at beginning of declaration [-Wold-style-declaration]
> const static unsigned int feature_table[] = {};
> ^
> fs/fuse/virtio_fs.c:1029:1: warning: ?static? is not at beginning of declaration [-Wold-style-declaration]
> const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
>
> Reported-by: Hulk Robot <hulkci at huawei.com>
> Signed-off-by: zhengbin <zhengbin13 at huawei.com>
> ---
> v1->v2: modify comment
> fs/fuse/virtio_fs.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Stefan Hajnoczi <stef...
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
On Thu, Sep 05, 2019 at 03:48:56PM -0400, Vivek Goyal wrote:
> This object is used both by fuse_connection as well virt device. So make
> this object reference counted and that makes it easy to define life cycle
> of the object.
>
> Now deivce can be removed while filesystem is still mounted. This will
> cleanup all the virtqueues but virtio_fs object will still be around and
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
On Thu, Sep 05, 2019 at 03:48:56PM -0400, Vivek Goyal wrote:
> This object is used both by fuse_connection as well virt device. So make
> this object reference counted and that makes it easy to define life cycle
> of the object.
>
> Now deivce can be removed while filesystem is still mounted. This will
> cleanup all the virtqueues but virtio_fs object will still be around and
2019 Sep 06
0
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...<%s> not found\n", fsc->source);
@@ -1067,8 +1099,10 @@ static int virtio_fs_get_tree(struct fs_
}
fc = kzalloc(sizeof(struct fuse_conn), GFP_KERNEL);
- if (!fc)
+ if (!fc) {
+ virtio_fs_put(fs);
return -ENOMEM;
+ }
fuse_conn_init(fc, get_user_ns(current_user_ns()), &virtio_fs_fiq_ops,
fs);
2019 Sep 05
38
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
Hi,
Michael Tsirkin pointed out issues w.r.t various locking related TODO
items and races w.r.t device removal.
In this first round of cleanups, I have taken care of most pressing
issues.
These patches apply on top of following.
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#virtiofs-v4
I have tested these patches with mount/umount and device removal using
qemu monitor. For
2019 Sep 18
0
[PATCH v6] virtio-fs: add virtiofs filesystem
...n", ret);
> + spin_lock(&fpq->lock);
> + clear_bit(FR_SENT, &req->flags);
> + list_del_init(&req->list);
> + spin_unlock(&fpq->lock);
> + fuse_request_end(fc, req);
> + return;
> + }
> +}
> +
> +const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> + .wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
> + .wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
> + .wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
> + .release = virtio_fs_fiq_release,
> +};
> +
> +static int virtio_fs...
2019 Sep 05
0
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...+ break;
> > + }
> > + spin_unlock(&fsvq->lock);
> > + usleep_range(1000, 2000);
>
> Same thing here. Can we use e.g. a completion and not usleep?
Second round cleanup.
>
> > + }
> > +}
> > +
> > +const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> > + .wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
> > + .wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
> > + .wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
> > +};
> > +
> > +static int virtio_fs_fill_super(s...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...if (!fsvq->in_flight) {
> + spin_unlock(&fsvq->lock);
> + break;
> + }
> + spin_unlock(&fsvq->lock);
> + usleep_range(1000, 2000);
Same thing here. Can we use e.g. a completion and not usleep?
> + }
> +}
> +
> +const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> + .wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
> + .wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
> + .wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
> +};
> +
> +static int virtio_fs_fill_super(struct super_block *sb)
> +{...
2019 Sep 03
4
[PATCH v4 15/16] virtio-fs: add virtiofs filesystem
...if (!fsvq->in_flight) {
> + spin_unlock(&fsvq->lock);
> + break;
> + }
> + spin_unlock(&fsvq->lock);
> + usleep_range(1000, 2000);
Same thing here. Can we use e.g. a completion and not usleep?
> + }
> +}
> +
> +const static struct fuse_iqueue_ops virtio_fs_fiq_ops = {
> + .wake_forget_and_unlock = virtio_fs_wake_forget_and_unlock,
> + .wake_interrupt_and_unlock = virtio_fs_wake_interrupt_and_unlock,
> + .wake_pending_and_unlock = virtio_fs_wake_pending_and_unlock,
> +};
> +
> +static int virtio_fs_fill_super(struct super_block *sb)
> +{...