Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-15 Thread Miklos Szeredi
On Fri, 15 Nov 2024 at 15:51, Hanna Czenczek wrote: > Now that I look at it once again (because I was wondering why to check fm, > and not fm->fc), do we even need to check fm or fm->fc? fuse_mount_destroy() > assumes both are non-NULL, so I assume sb->s_root || fm->fc->initialized > should b

Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-08 Thread Miklos Szeredi
On Thu, 7 Nov 2024 at 18:59, Hanna Czenczek wrote: > > Regardless, something smells here: fuse_mount_remove() is only called > > if sb->s_root is set (both plain fuse and virtiofs). The top level > > fuse_mount is added to fc->mounts in fuse_conn_init(), way before > > sb->s_root is set... > > >

Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-07 Thread Hanna Czenczek
On 07.11.24 13:18, Miklos Szeredi wrote: On Thu, 7 Nov 2024 at 11:00, Hanna Czenczek wrote: It isn’t much, but I believe it’s most of fuse_fill_super_common() (without restructuring the code so flags returned by INIT are put into a separate structure and then re-joined into sb and fc later). P

Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-07 Thread Miklos Szeredi
On Thu, 7 Nov 2024 at 11:00, Hanna Czenczek wrote: > It isn’t much, but I believe it’s most of fuse_fill_super_common() > (without restructuring the code so flags returned by INIT are put into a > separate structure and then re-joined into sb and fc later). Probably not worth it. > fuse_send_ini

Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-07 Thread Hanna Czenczek
On 07.11.24 09:58, Miklos Szeredi wrote: On Thu, 24 Oct 2024 at 18:47, Hanna Czenczek wrote: To be able to issue INIT (and GETATTR), we need to at least partially initialize the super_block structure, which is currently done via fuse_fill_super_common(). What exactly is needed to be initializ

Re: [PATCH] virtio-fs: Query rootmode during mount

2024-11-07 Thread Miklos Szeredi
On Thu, 24 Oct 2024 at 18:47, Hanna Czenczek wrote: > To be able to issue INIT (and GETATTR), we need to at least partially > initialize the super_block structure, which is currently done via > fuse_fill_super_common(). What exactly is needed to be initialized? > @@ -1762,18 +1801,12 @@ int fus

[PATCH] virtio-fs: Query rootmode during mount

2024-10-24 Thread Hanna Czenczek
During mount, receive the root inode's mode (e.g. whether it is a directory or a regular file) via GETATTR. Currently, the only way to set this mode to anything but S_IFDIR is by passing the mode's numerical value via the 'rootmode' mount option. This is done automatically by libfuse, so users gen