• Steve French's avatar
    smb3: fix unusable share after force unmount failure · 491eafce
    Steve French authored
    If user does forced unmount ("umount -f") while files are still open
    on the share (as was seen in a Kubernetes example running on SMB3.1.1
    mount) then we were marking the share as "TID_EXITING" in umount_begin()
    which caused all subsequent operations (except write) to fail ... but
    unfortunately when umount_begin() is called we do not know yet that
    there are open files or active references on the share that would prevent
    unmount from succeeding.  Kubernetes had example when they were doing
    umount -f when files were open which caused the share to become
    unusable until the files were closed (and the umount retried).
    
    Fix this so that TID_EXITING is not set until we are about to send
    the tree disconnect (not at the beginning of forced umounts in
    umount_begin) so that if "umount -f" fails (due to open files or
    references) the mount is still usable.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarShyam Prasad N <sprasad@microsoft.com>
    Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    491eafce
smb2pdu.c 158 KB