Displaying 7 results from an estimated 7 matches for "release_virtiofs_obj".
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...ref refcount;
> struct list_head list; /* on virtio_fs_instances */
> char *tag;
> struct virtio_fs_vq *vqs;
> @@ -63,6 +64,27 @@ static inline struct fuse_pqueue *vq_to_fpq(struct virtqueue *vq)
> return &vq_to_fsvq(vq)->fud->pq;
> }
>
> +static void release_virtiofs_obj(struct kref *ref)
> +{
> + struct virtio_fs *vfs = container_of(ref, struct virtio_fs, refcount);
> +
> + kfree(vfs->vqs);
> + kfree(vfs);
> +}
> +
> +static void virtiofs_put(struct virtio_fs *fs)
Why do the two function names above contain "virtiofs" instead...
2019 Sep 06
2
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...ref refcount;
> struct list_head list; /* on virtio_fs_instances */
> char *tag;
> struct virtio_fs_vq *vqs;
> @@ -63,6 +64,27 @@ static inline struct fuse_pqueue *vq_to_fpq(struct virtqueue *vq)
> return &vq_to_fsvq(vq)->fud->pq;
> }
>
> +static void release_virtiofs_obj(struct kref *ref)
> +{
> + struct virtio_fs *vfs = container_of(ref, struct virtio_fs, refcount);
> +
> + kfree(vfs->vqs);
> + kfree(vfs);
> +}
> +
> +static void virtiofs_put(struct virtio_fs *fs)
Why do the two function names above contain "virtiofs" instead...
2019 Sep 09
0
[Virtio-fs] [PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...ad list; /* on virtio_fs_instances */
> > char *tag;
> > struct virtio_fs_vq *vqs;
> > @@ -63,6 +64,27 @@ static inline struct fuse_pqueue *vq_to_fpq(struct virtqueue *vq)
> > return &vq_to_fsvq(vq)->fud->pq;
> > }
> >
> > +static void release_virtiofs_obj(struct kref *ref)
> > +{
> > + struct virtio_fs *vfs = container_of(ref, struct virtio_fs, refcount);
> > +
> > + kfree(vfs->vqs);
> > + kfree(vfs);
> > +}
> > +
> > +static void virtio_fs_put(struct virtio_fs *fs)
> > +{
> > + mutex_lo...
2019 Sep 05
0
[PATCH 16/18] virtiofs: Use virtio_fs_mutex for races w.r.t ->remove and mount path
...fs device instances and a lock for the list */
+/* List of virtio-fs device instances and a lock for the list. Also provides
+ * mutual exclusion in device removal and mounting path
+ */
static DEFINE_MUTEX(virtio_fs_mutex);
static LIST_HEAD(virtio_fs_instances);
@@ -72,17 +74,19 @@ static void release_virtiofs_obj(struct kref *ref)
kfree(vfs);
}
+/* Make sure virtiofs_mutex is held */
static void virtiofs_put(struct virtio_fs *fs)
{
- mutex_lock(&virtio_fs_mutex);
kref_put(&fs->refcount, release_virtiofs_obj);
- mutex_unlock(&virtio_fs_mutex);
}
static void virtio_fs_put(struct fu...
2019 Sep 05
0
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...stance */
struct virtio_fs {
+ struct kref refcount;
struct list_head list; /* on virtio_fs_instances */
char *tag;
struct virtio_fs_vq *vqs;
@@ -63,6 +64,27 @@ static inline struct fuse_pqueue *vq_to_fpq(struct virtqueue *vq)
return &vq_to_fsvq(vq)->fud->pq;
}
+static void release_virtiofs_obj(struct kref *ref)
+{
+ struct virtio_fs *vfs = container_of(ref, struct virtio_fs, refcount);
+
+ kfree(vfs->vqs);
+ kfree(vfs);
+}
+
+static void virtiofs_put(struct virtio_fs *fs)
+{
+ mutex_lock(&virtio_fs_mutex);
+ kref_put(&fs->refcount, release_virtiofs_obj);
+ mutex_unlock(&...
2019 Sep 06
0
[PATCH 15/18] virtiofs: Make virtio_fs object refcounted
...ad list; /* on virtio_fs_instances */
> > char *tag;
> > struct virtio_fs_vq *vqs;
> > @@ -63,6 +64,27 @@ static inline struct fuse_pqueue *vq_to_fpq(struct virtqueue *vq)
> > return &vq_to_fsvq(vq)->fud->pq;
> > }
> >
> > +static void release_virtiofs_obj(struct kref *ref)
> > +{
> > + struct virtio_fs *vfs = container_of(ref, struct virtio_fs, refcount);
> > +
> > + kfree(vfs->vqs);
> > + kfree(vfs);
> > +}
> > +
> > +static void virtiofs_put(struct virtio_fs *fs)
>
> Why do the two function...
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