Go to file
Long Li 050b8c3740 smbd: Make upper layer decide when to destroy the transport
On transport recoonect, upper layer CIFS code destroys the current
transport and then recoonect. This code path is not used by SMBD, in that
SMBD destroys its transport on RDMA disconnect notification independent of
CIFS upper layer behavior.

This approach adds some costs to SMBD layer to handle transport shutdown
and restart, and to deal with several racing conditions on reconnecting
transport.

Re-work this code path by introducing a new smbd_destroy. This function is
called form upper layer to ask SMBD to destroy the transport. SMBD will no
longer need to destroy the transport by itself while worrying about data
transfer is in progress. The upper layer guarantees the transport is
locked.

change log:
v2: fix build errors when CONFIG_CIFS_SMB_DIRECT is not configured

Signed-off-by: Long Li <longli@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2019-05-07 23:24:54 -05:00
arch Merge branch 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2019-05-07 19:34:17 -07:00
block for-5.2/block-20190507 2019-05-07 18:14:36 -07:00
certs
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-05-06 20:15:06 -07:00
Documentation Merge branch 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2019-05-07 19:34:17 -07:00
drivers Merge branch 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2019-05-07 19:34:17 -07:00
fs smbd: Make upper layer decide when to destroy the transport 2019-05-07 23:24:54 -05:00
include audit/stable-5.2 PR 20190507 2019-05-07 19:06:04 -07:00
init Driver core/kobject patches for 5.2-rc1 2019-05-07 13:01:40 -07:00
ipc mqueue: switch to ->free_inode() 2019-05-01 22:43:26 -04:00
kernel audit/stable-5.2 PR 20190507 2019-05-07 19:06:04 -07:00
lib for-5.2/block-20190507 2019-05-07 18:14:36 -07:00
LICENSES
mm Merge branch 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-05-07 10:57:05 -07:00
net Driver core/kobject patches for 5.2-rc1 2019-05-07 13:01:40 -07:00
samples Driver core/kobject patches for 5.2-rc1 2019-05-07 13:01:40 -07:00
scripts selinux/stable-5.2 PR 20190507 2019-05-07 18:48:09 -07:00
security audit/stable-5.2 PR 20190507 2019-05-07 19:06:04 -07:00
sound LED updates for 5.2-rc1. 2019-05-07 18:02:51 -07:00
tools for-5.2/block-20190507 2019-05-07 18:14:36 -07:00
usr
virt arm64 updates for 5.2 2019-05-06 17:54:22 -07:00
.clang-format clang-format: Update with the latest for_each macro list 2019-04-12 12:49:54 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Merge 5.1-rc6 into staging-next 2019-04-21 23:18:44 +02:00
COPYING
CREDITS
Kbuild Kbuild updates for v5.1 2019-03-10 17:48:21 -07:00
Kconfig
MAINTAINERS selinux/stable-5.2 PR 20190507 2019-05-07 18:48:09 -07:00
Makefile compiler-based memory initialization 2019-05-07 12:44:49 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.