From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 7 May 2020 14:06:32 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20200507130632.GE2699@work-vm> References: <20200506153832.240812-1-mreitz@redhat.com> <20200506154010.241055-2-mreitz@redhat.com> <20200506160411.GO2743@work-vm> <52f6dc62-496e-2337-72dc-a9b762732848@redhat.com> <9a601294-a470-3df9-fd8f-0eb1ed5847b6@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <9a601294-a470-3df9-fd8f-0eb1ed5847b6@redhat.com> Subject: Re: [Virtio-fs] [RFC 2/2] virtiofsd: Set st_rdev for sub-mount points List-Id: Development discussions about virtio-fs List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: virtio-fs-list * Max Reitz (mreitz@redhat.com) wrote: > On 07.05.20 13:43, Miklos Szeredi wrote: > > On Thu, May 7, 2020 at 12:56 PM Max Reitz wrote: > >> > >> On 06.05.20 18:04, Dr. David Alan Gilbert wrote: > >>> * Max Reitz (mreitz@redhat.com) wrote: > >>>> Whenever we encounter a directory with an st_dev that differs from that > >>>> of its parent, we set st_rdev accordingly so the guest can create a > >>>> submount for it. > >>>> > >>>> Make this behavior optional, so submounts are only announced to the > >>>> guest with the announce_submounts option. Some users may prefer the > >>>> current behavior, so that the guest learns nothing about the host mount > >>>> structure. > >>>> > >>>> Signed-off-by: Max Reitz > >>> > >>> Does this need to be wired to a flag in the INIT message (like say > >>> FUSE_ASYNC_READ) to indicate that the kernel/daemon supports this, or is > >>> it really safe just to start sending the changed rdev? > >> > >> I supposed it to be safe, given that rdev is never used for anything but > >> device files, so basically it was just a reserved field for directories. > > > > You assume only directories can be mounted, but that's not so. A > > device can also be the source or destination of a bind mount. > > Well, I mostly thought this case wouldn’t be too important. But I > suppose it doesn’t make sense to decide now that it’s never going to be > important. It's quite common in kata to bind mount individual /etc files - I'm not clear if that's this particular case. Dave > > We need to extend fuse_entry_out with a flags field. We could > > possibly reuse the upper bits of entry_valid (i.e. timeouts above say > > INT_MAX seconds could be taken as "infinity"). Unfortunately that's > > not as easy as splitting it into two fields due to endianness :( > > For the time being, a single bit would be sufficient to signify whether > there should be a submount at all. We could add a field with a submount > ID (i.e., st_dev from the host) in the future when we decide we > want/need to ensure that two inodes with the same st_dev on the host > also have the same st_dev in the guest. > > Max > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK