Hi

In QEMU 8 virtiofsd has been removed in favor of the rust version. Which includes options that are not longer supported,


Do you have a view on what should be used going forwards to support virtiofsd in libvirt with qemu 8? 

The options are showing as depreciated,
    -o <compat-options>...
            Options in a format compatible with the legacy implementation [deprecated]

Rust version options

virtiofsd backend 1.5.1
Launch a virtiofsd backend.

USAGE:
    virtiofsd [FLAGS] [OPTIONS] --fd <fd> --socket <socket> --socket-path <socket-path>

FLAGS:
        --allow-direct-io      
            Honor the O_DIRECT flag passed down by guest applications

        --announce-submounts    
            Tell the guest which directories are mount points

    -d                          
            Set log level to "debug" [deprecated]

    -f                          
            Compatibility option that has no effect [deprecated]

    -h, --help                  
            Prints help information

        --killpriv-v2          
            Enable KILLPRIV V2 support

        --no-killpriv-v2        
            Disable KILLPRIV V2 support [default]

        --no-readdirplus        
            Disable support for READDIRPLUS operations

        --posix-acl            
            Enable support for posix ACLs (implies --xattr)

        --print-capabilities    
            Print vhost-user.json backend program capabilities and exit

        --security-label        
            Enable security label support. Expects SELinux xattr on file creation from client and stores it in the newly
            created file
        --syslog                
            Log to syslog [default: stderr]

    -V, --version              
            Prints version information

        --writeback            
            Enable writeback cache

        --xattr                
            Enable support for extended attributes


OPTIONS:
        --cache <cache>
            The caching policy the file system should use (auto, always, never) [default: auto]

    -o <compat-options>...
            Options in a format compatible with the legacy implementation [deprecated]

        --fd <fd>                                    
            File descriptor for the listening socket

        --inode-file-handles=<inode-file-handles>
            When to use file handles to reference inodes instead of O_PATH file descriptors (never, prefer, mandatory)
           
            - never: Never use file handles, always use O_PATH file descriptors.
           
            - prefer: Attempt to generate file handles, but fall back to O_PATH file descriptors where the underlying
            filesystem does not support file handles.  Useful when there are various different filesystems under the
            shared directory and some of them do not support file handles.  ("fallback" is a deprecated alias for
            "prefer".)
           
            - mandatory: Always use file handles, never fall back to O_PATH file descriptors.
           
            Using file handles reduces the number of file descriptors virtiofsd keeps open, which is not only helpful
            with resources, but may also be important in cases where virtiofsd should only have file descriptors open
            for files that are open in the guest, e.g. to get around bad interactions with NFS's silly renaming.
            [default: never]
        --log-level <log-level>                      
            Log level (error, warn, info, debug, trace, off) [default: info]

        --modcaps <modcaps>                          
            Modify the list of capabilities, e.g., --modcaps=+sys_admin:-chown

        --rlimit-nofile <rlimit-nofile>
            Set maximum number of file descriptors (0 leaves rlimit unchanged) [default: min(1000000,
            '/proc/sys/fs/nr_open')]
        --sandbox <sandbox>
            Sandbox mechanism to isolate the daemon process (namespace, chroot, none) [default: namespace]

        --seccomp <seccomp>
            Action to take when seccomp finds a not allowed syscall (none, kill, log, trap) [default: kill]

        --shared-dir <shared-dir>                    
            Shared directory path

        --socket <socket>                            
            vhost-user socket path [deprecated]

        --socket-group <socket-group>                
            Name of group for the vhost-user socket

        --socket-path <socket-path>                  
            vhost-user socket path

        --thread-pool-size <thread-pool-size>
            Maximum thread pool size. A value of "0" disables the pool [default: 0]

        --xattrmap <xattrmap>
            Add custom rules for translating extended attributes between host and guest (e.g. :map::user.virtiofs.:)

Regards
Simon.