[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/5] virtiofsd: take lo->mutex around lo_add_fd_
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH 1/5] virtiofsd: take lo->mutex around lo_add_fd_mapping() |
Date: |
Wed, 31 Jul 2019 19:45:38 +0100 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
* Stefan Hajnoczi (address@hidden) wrote:
> The lo_add_fd_mapping() function assumes lo->mutex is held, so we should
> acquire it.
>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
Thanks, applied
Would it make sense for me to squash this into:
virtiofsd: passthrough_ll: add fd_map to hide file descriptors
?
Dave
> ---
> contrib/virtiofsd/passthrough_ll.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/contrib/virtiofsd/passthrough_ll.c
> b/contrib/virtiofsd/passthrough_ll.c
> index 65b7352c95..417a104218 100644
> --- a/contrib/virtiofsd/passthrough_ll.c
> +++ b/contrib/virtiofsd/passthrough_ll.c
> @@ -1555,7 +1555,9 @@ static void lo_create(fuse_req_t req, fuse_ino_t
> parent, const char *name,
>
> update_version(lo, lo_inode(req, parent));
>
> + pthread_mutex_lock(&lo->mutex);
> fh = lo_add_fd_mapping(req, fd);
> + pthread_mutex_unlock(&lo->mutex);
> if (fh == -1) {
> close(fd);
> fuse_reply_err(req, ENOMEM);
> @@ -1760,7 +1762,9 @@ static void lo_open(fuse_req_t req, fuse_ino_t ino,
> struct fuse_file_info *fi)
> if (fd == -1)
> return (void) fuse_reply_err(req, errno);
>
> + pthread_mutex_lock(&lo->mutex);
> fh = lo_add_fd_mapping(req, fd);
> + pthread_mutex_unlock(&lo->mutex);
> if (fh == -1) {
> close(fd);
> fuse_reply_err(req, ENOMEM);
> --
> 2.21.0
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH 0/5] virtiofsd: multithreading preparation part 2, Stefan Hajnoczi, 2019/07/31
- [Qemu-devel] [PATCH 1/5] virtiofsd: take lo->mutex around lo_add_fd_mapping(), Stefan Hajnoczi, 2019/07/31
- Re: [Qemu-devel] [PATCH 1/5] virtiofsd: take lo->mutex around lo_add_fd_mapping(),
Dr. David Alan Gilbert <=
- [Qemu-devel] [PATCH 2/5] virtiofsd: take lo->mutex around lo_add_dirp_mapping(), Stefan Hajnoczi, 2019/07/31
- [Qemu-devel] [PATCH 3/5] virtiofsd: rename inode->refcount to inode->nlookup, Stefan Hajnoczi, 2019/07/31
- [Qemu-devel] [PATCH 4/5] virtiofsd: fix inode nlookup leaks, Stefan Hajnoczi, 2019/07/31
- [Qemu-devel] [PATCH 5/5] virtiofsd: introduce inode refcount to prevent use-after-free, Stefan Hajnoczi, 2019/07/31