virtiofsd: Disable remote posix locks by default

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>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Vivek Goyal 2020-07-27 12:18:41 -04:00 committed by Dr. David Alan Gilbert
parent a9e80a5f0c
commit 88fc107956
2 changed files with 2 additions and 2 deletions

View File

@ -67,7 +67,7 @@ Options
Disable racy fallback. The default is false. Disable racy fallback. The default is false.
* posix_lock|no_posix_lock - * posix_lock|no_posix_lock -
Enable/disable remote POSIX locks. The default is ``posix_lock``. Enable/disable remote POSIX locks. The default is ``no_posix_lock``.
* readdirplus|no_readdirplus - * readdirplus|no_readdirplus -
Enable/disable readdirplus. The default is ``readdirplus``. Enable/disable readdirplus. The default is ``readdirplus``.

View File

@ -2823,7 +2823,7 @@ int main(int argc, char *argv[])
struct lo_data lo = { struct lo_data lo = {
.debug = 0, .debug = 0,
.writeback = 0, .writeback = 0,
.posix_lock = 1, .posix_lock = 0,
.proc_self_fd = -1, .proc_self_fd = -1,
}; };
struct lo_map_elem *root_elem; struct lo_map_elem *root_elem;