On Mon, Feb 8, 2021 at 3:00 AM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > On Wed, Feb 03, 2021 at 04:03:06PM +0100, Miklos Szeredi wrote: > > On Wed, Feb 3, 2021 at 3:56 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > > But let's talk specifics. What does CIFS need to contact the server for? > > > Could it be cached earlier? > > > > I don't understand what CIFS is doing, and I don't really care. This > > is the sort of operation where adding a couple of network roundtrips > > so that the client can obtain the credentials required to perform the > > operation doesn't really matter. We won't have thousands of chattr(1) > > calls per second. > > Incorrect. Okay, I was wrong. Still, CIFS may very well be able to perform these operations without a struct file. But even if it can't, I'd still only add the file pointer as an *optional hint* from the VFS, not as the primary object as Matthew suggested. I stand by my choice of /struct dentry/ as the object to pass to these operations. Thanks, Miklos