> From: Peng Tao <tao.p...@linux.alibaba.com>
> 
> Right now we always enable it regardless of given commandlines.
> Fix it by setting the flag relying on the lo->flock bit.
> 
> Signed-off-by: Peng Tao <tao.p...@linux.alibaba.com>

I think we should remove LL_SET_DEFAULT for flock/posix_lock in do_init()
but that can be done in another patch.

Reviewed-by: Misono Tomohiro <misono.tomoh...@jp.fujitsu.com>

> ---
>  tools/virtiofsd/passthrough_ll.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c 
> b/tools/virtiofsd/passthrough_ll.c
> index 8f4ab8351c..cf6b548eee 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -548,9 +548,14 @@ static void lo_init(void *userdata, struct 
> fuse_conn_info *conn)
>          fuse_log(FUSE_LOG_DEBUG, "lo_init: activating writeback\n");
>          conn->want |= FUSE_CAP_WRITEBACK_CACHE;
>      }
> -    if (lo->flock && conn->capable & FUSE_CAP_FLOCK_LOCKS) {
> -        fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");
> -        conn->want |= FUSE_CAP_FLOCK_LOCKS;
> +    if (conn->capable & FUSE_CAP_FLOCK_LOCKS) {
> +        if (lo->flock) {
> +            fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");
> +            conn->want |= FUSE_CAP_FLOCK_LOCKS;
> +        } else {
> +            fuse_log(FUSE_LOG_DEBUG, "lo_init: disabling flock locks\n");
> +            conn->want &= ~FUSE_CAP_FLOCK_LOCKS;
> +        }
>      }
>  
>      if (conn->capable & FUSE_CAP_POSIX_LOCKS) {
> -- 
> 2.23.0

Reply via email to