Re: [PATCH] SMB3: force unmount was failing to close deferred close files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 9, 2023 at 1:03 PM Bharath SM <bharathsm.hsk@xxxxxxxxx> wrote:
>
> Ack by me.
>
> On Tue, May 9, 2023 at 12:05 PM Steve French <smfrench@xxxxxxxxx> wrote:
> >
> > In investigating a failure with xfstest generic/392 it
> > was noticed that mounts were reusing a superblock that should
> > already have been freed. This turned out to be related to
> > deferred close files keeping a reference count until the
> > closetimeo expired.
> >
> > Currently the only way an fs knows that mount is beginning is
> > when force unmount is called, but when this, ie umount_begin(),
> > is called all deferred close files on the share (tree
> > connection) should be closed immediately (unless shared by
> > another mount) to avoid using excess resources on the server
> > and to avoid reusing a superblock which should already be freed.
> >
> > In umount_begin, close all deferred close handles for that
> > share if this is the last mount using that share on this
> > client (ie send the SMB3 close request over the wire for those
> > that have been already closed by the app but that we have
> > kept a handle lease open for and have not sent closes to the
> > server for yet).
> >
> > Reported-by: David Howells <dhowells@xxxxxxxxxx>
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Fixes: 78c09634f7dc ("Cifs: Fix kernel oops caused by deferred close
> > for files.")
> >
> > See attached
> > --
> > Thanks,
> >
> > Steve

cifs_put_tcon sounds like a more logical place to do this. When the
ref count has dropped to 0.

-- 
Regards,
Shyam




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux