Messages in this thread | | | From | "Pranay Kr. Srivastava" <> | Subject | [PATCH v3 0/3] nbd: resolve bugs and limitations | Date | Fri, 24 Jun 2016 13:09:33 +0300 |
| |
This patch series fixes the following
1) fix might_sleep warning on socket shutdown: Fix sock_shutdown to avoid calling kernel_sock_shutdown while holding spin_lock.
2) cleanup nbd_set_socket Simple fixes to nbd_set_socket.
3) make nbd device wait for its users. When a timeout or error occurs then nbd driver simply kills the block device. Many filesystem(s) example ext2/ext3 don't expect their buffer heads to disappear like that. Fix this by making nbd device wait for its users.
The same work function is used to trigger the kill_bdev as well do a sock_shutdown, depending on either a timeout/error occured or a disconnect was issued.
Also avoid scheduling the work_fn in case a timeout for a request has already occured.
Pranay Kr. Srivastava (3): fix might_sleep warning on socket shutdown cleanup nbd_set_socket make nbd device wait for its users
drivers/block/nbd.c | 169 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 127 insertions(+), 42 deletions(-)
Changelog:
Rebased all patches above on git://git.pengutronix.de/git/mpa/linux-nbd.git, commit:7ed71a8704eda7b75fbd0ed73fd0a5b6e469d250
3) make nbd device wait for its users. Instead of using kref_sub just use kref_init and under the bd_mutex for serializing on open/close. -- 1.9.1
| |