diff mbox series

virtiofsd: Disable remote posix locks by default

Message ID 20200727161841.GA54539@redhat.com
State New
Headers show
Series virtiofsd: Disable remote posix locks by default | expand

Commit Message

Vivek Goyal July 27, 2020, 4:18 p.m. UTC
Right now we enable remote posix locks by default. That means when guest
does a posix lock it sends request to server (virtiofsd). But currently
we only support non-blocking posix lock and return -EOPNOTSUPP for
blocking version.

This means that existing applications which are doing blocking posix
locks get -EOPNOTSUPP and fail. To avoid this, people have been
running virtiosd with option "-o no_posix_lock". For new users it
is still a surprise and trial and error takes them to this option.

Given posix lock implementation is not complete in virtiofsd, disable
it by default. This means that posix locks will work with-in applications
in a guest but not across guests. Anyway we don't support sharing
filesystem among different guests yet in virtiofs so this should
not lead to any kind of surprise or regression and will make life
little easier for virtiofs users.

Reported-by: Aa Aa <jimbothom@yandex.com>
Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
---
 tools/virtiofsd/passthrough_ll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefan Hajnoczi Aug. 3, 2020, 9:57 a.m. UTC | #1
On Mon, Jul 27, 2020 at 12:18:41PM -0400, Vivek Goyal wrote:
> Right now we enable remote posix locks by default. That means when guest
> does a posix lock it sends request to server (virtiofsd). But currently
> we only support non-blocking posix lock and return -EOPNOTSUPP for
> blocking version.
> 
> This means that existing applications which are doing blocking posix
> locks get -EOPNOTSUPP and fail. To avoid this, people have been
> running virtiosd with option "-o no_posix_lock". For new users it
> is still a surprise and trial and error takes them to this option.
> 
> Given posix lock implementation is not complete in virtiofsd, disable
> it by default. This means that posix locks will work with-in applications
> in a guest but not across guests. Anyway we don't support sharing
> filesystem among different guests yet in virtiofs so this should
> not lead to any kind of surprise or regression and will make life
> little easier for virtiofs users.
> 
> Reported-by: Aa Aa <jimbothom@yandex.com>
> Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> ---
>  tools/virtiofsd/passthrough_ll.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Tomohiro Misono (Fujitsu) Aug. 6, 2020, 8:20 a.m. UTC | #2
> Right now we enable remote posix locks by default. That means when guest does a posix lock it sends request to server
> (virtiofsd). But currently we only support non-blocking posix lock and return -EOPNOTSUPP for blocking version.
> 
> This means that existing applications which are doing blocking posix locks get -EOPNOTSUPP and fail. To avoid this,
> people have been running virtiosd with option "-o no_posix_lock". For new users it is still a surprise and trial and error
> takes them to this option.
> 
> Given posix lock implementation is not complete in virtiofsd, disable it by default. This means that posix locks will work
> with-in applications in a guest but not across guests. Anyway we don't support sharing filesystem among different guests
> yet in virtiofs so this should not lead to any kind of surprise or regression and will make life little easier for virtiofs users.
> 
> Reported-by: Aa Aa <jimbothom@yandex.com>
> Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> ---
>  tools/virtiofsd/passthrough_ll.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

We should update docs/tools/virtiofsd.rst as well. Given that:
 Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Dr. David Alan Gilbert Aug. 6, 2020, 5:41 p.m. UTC | #3
* misono.tomohiro@fujitsu.com (misono.tomohiro@fujitsu.com) wrote:
> > Right now we enable remote posix locks by default. That means when guest does a posix lock it sends request to server
> > (virtiofsd). But currently we only support non-blocking posix lock and return -EOPNOTSUPP for blocking version.
> > 
> > This means that existing applications which are doing blocking posix locks get -EOPNOTSUPP and fail. To avoid this,
> > people have been running virtiosd with option "-o no_posix_lock". For new users it is still a surprise and trial and error
> > takes them to this option.
> > 
> > Given posix lock implementation is not complete in virtiofsd, disable it by default. This means that posix locks will work
> > with-in applications in a guest but not across guests. Anyway we don't support sharing filesystem among different guests
> > yet in virtiofs so this should not lead to any kind of surprise or regression and will make life little easier for virtiofs users.
> > 
> > Reported-by: Aa Aa <jimbothom@yandex.com>
> > Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> > Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> > ---
> >  tools/virtiofsd/passthrough_ll.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> We should update docs/tools/virtiofsd.rst as well. Given that:
>  Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

Fixed up the doc.

Dave

> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
Dr. David Alan Gilbert Aug. 6, 2020, 5:45 p.m. UTC | #4
* Vivek Goyal (vgoyal@redhat.com) wrote:
> Right now we enable remote posix locks by default. That means when guest
> does a posix lock it sends request to server (virtiofsd). But currently
> we only support non-blocking posix lock and return -EOPNOTSUPP for
> blocking version.
> 
> This means that existing applications which are doing blocking posix
> locks get -EOPNOTSUPP and fail. To avoid this, people have been
> running virtiosd with option "-o no_posix_lock". For new users it
> is still a surprise and trial and error takes them to this option.
> 
> Given posix lock implementation is not complete in virtiofsd, disable
> it by default. This means that posix locks will work with-in applications
> in a guest but not across guests. Anyway we don't support sharing
> filesystem among different guests yet in virtiofs so this should
> not lead to any kind of surprise or regression and will make life
> little easier for virtiofs users.
> 
> Reported-by: Aa Aa <jimbothom@yandex.com>
> Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> Signed-off-by: Vivek Goyal <vgoyal@redhat.com>

Thanks, queued into my local dev world; I'll push it out after some
others and get it into the qemu world when it reopens.

Dave
> ---
>  tools/virtiofsd/passthrough_ll.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> index 6514674f04..82d8c962d0 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -3208,7 +3208,7 @@ int main(int argc, char *argv[])
>      struct lo_data lo = {
>          .debug = 0,
>          .writeback = 0,
> -        .posix_lock = 1,
> +        .posix_lock = 0,
>          .proc_self_fd = -1,
>      };
>      struct lo_map_elem *root_elem;
> -- 
> 2.25.4
>
Vivek Goyal Aug. 6, 2020, 5:46 p.m. UTC | #5
On Thu, Aug 06, 2020 at 08:20:39AM +0000, misono.tomohiro@fujitsu.com wrote:
> > Right now we enable remote posix locks by default. That means when guest does a posix lock it sends request to server
> > (virtiofsd). But currently we only support non-blocking posix lock and return -EOPNOTSUPP for blocking version.
> > 
> > This means that existing applications which are doing blocking posix locks get -EOPNOTSUPP and fail. To avoid this,
> > people have been running virtiosd with option "-o no_posix_lock". For new users it is still a surprise and trial and error
> > takes them to this option.
> > 
> > Given posix lock implementation is not complete in virtiofsd, disable it by default. This means that posix locks will work
> > with-in applications in a guest but not across guests. Anyway we don't support sharing filesystem among different guests
> > yet in virtiofs so this should not lead to any kind of surprise or regression and will make life little easier for virtiofs users.
> > 
> > Reported-by: Aa Aa <jimbothom@yandex.com>
> > Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> > Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> > ---
> >  tools/virtiofsd/passthrough_ll.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> We should update docs/tools/virtiofsd.rst as well. Given that:
>  Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

Good point Misono. I will update doc to reflect that now default
is "no_posix_lock". Will send V2 and retain all the Reviewed-by tags.

Thanks
Vivek
Vivek Goyal Aug. 6, 2020, 5:46 p.m. UTC | #6
On Thu, Aug 06, 2020 at 06:41:29PM +0100, Dr. David Alan Gilbert wrote:
> * misono.tomohiro@fujitsu.com (misono.tomohiro@fujitsu.com) wrote:
> > > Right now we enable remote posix locks by default. That means when guest does a posix lock it sends request to server
> > > (virtiofsd). But currently we only support non-blocking posix lock and return -EOPNOTSUPP for blocking version.
> > > 
> > > This means that existing applications which are doing blocking posix locks get -EOPNOTSUPP and fail. To avoid this,
> > > people have been running virtiosd with option "-o no_posix_lock". For new users it is still a surprise and trial and error
> > > takes them to this option.
> > > 
> > > Given posix lock implementation is not complete in virtiofsd, disable it by default. This means that posix locks will work
> > > with-in applications in a guest but not across guests. Anyway we don't support sharing filesystem among different guests
> > > yet in virtiofs so this should not lead to any kind of surprise or regression and will make life little easier for virtiofs users.
> > > 
> > > Reported-by: Aa Aa <jimbothom@yandex.com>
> > > Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
> > > Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> > > ---
> > >  tools/virtiofsd/passthrough_ll.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > We should update docs/tools/virtiofsd.rst as well. Given that:
> >  Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> 
> Fixed up the doc.

Aha.. Looks like we were looking at this at the same time.

Thanks for taking care of this Dave.

Vivek
diff mbox series

Patch

diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 6514674f04..82d8c962d0 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -3208,7 +3208,7 @@  int main(int argc, char *argv[])
     struct lo_data lo = {
         .debug = 0,
         .writeback = 0,
-        .posix_lock = 1,
+        .posix_lock = 0,
         .proc_self_fd = -1,
     };
     struct lo_map_elem *root_elem;