virtiofsd: Check FUSE_SUBMOUNTS
FUSE_SUBMOUNTS is a pure indicator by the kernel to signal that it supports submounts. It does not check its state in the init reply, so there is nothing for fuse_lowlevel.c to do but to check its existence and copy it into fuse_conn_info.capable. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20201102161859.156603-2-mreitz@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
0429eaf518
commit
9c6ac04363
@ -352,6 +352,13 @@ struct fuse_file_info {
|
||||
*/
|
||||
#define FUSE_CAP_NO_OPENDIR_SUPPORT (1 << 24)
|
||||
|
||||
/**
|
||||
* Indicates that the kernel supports the FUSE_ATTR_SUBMOUNT flag.
|
||||
*
|
||||
* Setting (or unsetting) this flag in the `want` field has *no effect*.
|
||||
*/
|
||||
#define FUSE_CAP_SUBMOUNTS (1 << 27)
|
||||
|
||||
/**
|
||||
* Ioctl flags
|
||||
*
|
||||
|
@ -1988,6 +1988,9 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid,
|
||||
bufsize = max_bufsize;
|
||||
}
|
||||
}
|
||||
if (arg->flags & FUSE_SUBMOUNTS) {
|
||||
se->conn.capable |= FUSE_CAP_SUBMOUNTS;
|
||||
}
|
||||
#ifdef HAVE_SPLICE
|
||||
#ifdef HAVE_VMSPLICE
|
||||
se->conn.capable |= FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE;
|
||||
|
Loading…
Reference in New Issue
Block a user