cryptospore / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-virtiofsd-Disable-remote-posix-locks-by-default.patch

1072c8
From 3ec945ba7c2649cca13cf6070c6365b1262ad1ec Mon Sep 17 00:00:00 2001
1072c8
From: Max Reitz <mreitz@redhat.com>
1072c8
Date: Fri, 6 Aug 2021 11:58:26 -0400
1072c8
Subject: [PATCH 1/2] virtiofsd: Disable remote posix locks by default
1072c8
MIME-Version: 1.0
1072c8
Content-Type: text/plain; charset=UTF-8
1072c8
Content-Transfer-Encoding: 8bit
1072c8
1072c8
RH-Author: Max Reitz <mreitz@redhat.com>
1072c8
Message-id: <20210806115827.740945-2-mreitz@redhat.com>
1072c8
Patchwork-id: 101970
1072c8
O-Subject: [RHEL-8.5.0 qemu-kvm PATCH 1/2] virtiofsd: Disable remote posix locks by default
1072c8
Bugzilla: 1967496
1072c8
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
1072c8
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
1072c8
RH-Acked-by: Vivek Goyal <vgoyal@redhat.com>
1072c8
1072c8
From: Vivek Goyal <vgoyal@redhat.com>
1072c8
1072c8
Right now we enable remote posix locks by default. That means when guest
1072c8
does a posix lock it sends request to server (virtiofsd). But currently
1072c8
we only support non-blocking posix lock and return -EOPNOTSUPP for
1072c8
blocking version.
1072c8
1072c8
This means that existing applications which are doing blocking posix
1072c8
locks get -EOPNOTSUPP and fail. To avoid this, people have been
1072c8
running virtiosd with option "-o no_posix_lock". For new users it
1072c8
is still a surprise and trial and error takes them to this option.
1072c8
1072c8
Given posix lock implementation is not complete in virtiofsd, disable
1072c8
it by default. This means that posix locks will work with-in applications
1072c8
in a guest but not across guests. Anyway we don't support sharing
1072c8
filesystem among different guests yet in virtiofs so this should
1072c8
not lead to any kind of surprise or regression and will make life
1072c8
little easier for virtiofs users.
1072c8
1072c8
Reported-by: Aa Aa <jimbothom@yandex.com>
1072c8
Suggested-by: Miklos Szeredi <mszeredi@redhat.com>
1072c8
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1072c8
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
1072c8
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
1072c8
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
1072c8
(cherry picked from commit 88fc107956a5812649e5918e0c092d3f78bb28ad)
1072c8
1072c8
Conflicts:
1072c8
	docs/tools/virtiofsd.rst
1072c8
	We do not have virtiofsd.rst downstream (added upstream in
1072c8
	commit 6a7e2bbee5fa), so I dropped that hunk (which effectively
1072c8
	updated the default value in the man page).
1072c8
1072c8
Signed-off-by: Max Reitz <mreitz@redhat.com>
1072c8
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
1072c8
---
1072c8
 tools/virtiofsd/passthrough_ll.c | 2 +-
1072c8
 1 file changed, 1 insertion(+), 1 deletion(-)
1072c8
1072c8
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
1072c8
index cb0992f2db..b47029da89 100644
1072c8
--- a/tools/virtiofsd/passthrough_ll.c
1072c8
+++ b/tools/virtiofsd/passthrough_ll.c
1072c8
@@ -3001,7 +3001,7 @@ int main(int argc, char *argv[])
1072c8
     struct lo_data lo = {
1072c8
         .debug = 0,
1072c8
         .writeback = 0,
1072c8
-        .posix_lock = 1,
1072c8
+        .posix_lock = 0,
1072c8
         .proc_self_fd = -1,
1072c8
     };
1072c8
     struct lo_map_elem *root_elem;
1072c8
-- 
1072c8
2.27.0
1072c8