On Tue, Dec 17, 2024 at 2:22 AM Steve French <smfrench@xxxxxxxxx> wrote: > > merged into cifs-2.6.git for-next pending review and more testing > > On Mon, Dec 16, 2024 at 12:36 PM Bharath SM <bharathsm.hsk@xxxxxxxxx> wrote: > > > > Previously, deferred file handles were reused only for read > > operations, this commit extends to reusing deferred handles > > for write operations. > > > > Signed-off-by: Bharath SM <bharathsm@xxxxxxxxxxxxx> > > --- > > fs/smb/client/file.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c > > index a58a3333ecc3..98deff1de74c 100644 > > --- a/fs/smb/client/file.c > > +++ b/fs/smb/client/file.c > > @@ -990,7 +990,11 @@ int cifs_open(struct inode *inode, struct file *file) > > } > > > > /* Get the cached handle as SMB2 close is deferred */ > > - rc = cifs_get_readable_path(tcon, full_path, &cfile); > > + if (OPEN_FMODE(file->f_flags) & FMODE_WRITE) { > > + rc = cifs_get_writable_path(tcon, full_path, FIND_WR_ANY, &cfile); Wondering if FIND_WR_ANY is okay for all use cases? Specifically, I'm checking where FIND_WR_FSUID_ONLY is relevant. @Steve French Is this for multiuser mounts? I don't think so, since multiuser mounts come with their own tcon, and we search writable files in our tcon's open list. > > + } else { > > + rc = cifs_get_readable_path(tcon, full_path, &cfile); > > + } > > if (rc == 0) { > > if (file->f_flags == cfile->f_flags) { > > file->private_data = cfile; > > -- > > 2.43.0 > > > > > > > -- > Thanks, > > Steve > Other than that one thing to look at, the changes look good to me. -- Regards, Shyam