From 3ec945ba7c2649cca13cf6070c6365b1262ad1ec Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Fri, 6 Aug 2021 11:58:26 -0400 Subject: [PATCH 1/2] virtiofsd: Disable remote posix locks by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Max Reitz Message-id: <20210806115827.740945-2-mreitz@redhat.com> Patchwork-id: 101970 O-Subject: [RHEL-8.5.0 qemu-kvm PATCH 1/2] virtiofsd: Disable remote posix locks by default Bugzilla: 1967496 RH-Acked-by: Stefano Garzarella RH-Acked-by: Philippe Mathieu-Daudé RH-Acked-by: Vivek Goyal From: Vivek Goyal 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 Suggested-by: Miklos Szeredi Signed-off-by: Vivek Goyal Reviewed-by: Stefan Hajnoczi Reviewed-by: Misono Tomohiro Signed-off-by: Dr. David Alan Gilbert (cherry picked from commit 88fc107956a5812649e5918e0c092d3f78bb28ad) Conflicts: docs/tools/virtiofsd.rst We do not have virtiofsd.rst downstream (added upstream in commit 6a7e2bbee5fa), so I dropped that hunk (which effectively updated the default value in the man page). Signed-off-by: Max Reitz Signed-off-by: Danilo C. L. de Paula --- 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 cb0992f2db..b47029da89 100644 --- a/tools/virtiofsd/passthrough_ll.c +++ b/tools/virtiofsd/passthrough_ll.c @@ -3001,7 +3001,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.27.0