From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932079AbcF3LCT (ORCPT ); Thu, 30 Jun 2016 07:02:19 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:36521 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751839AbcF3LCS (ORCPT ); Thu, 30 Jun 2016 07:02:18 -0400 From: "Pranay Kr. Srivastava" To: mpa@pengutronix.de, nbd-general@lists.sourceforge.net, linux-kernel@vger.kernel.org Cc: "Pranay Kr. Srivastava" Subject: [PATCH v4 0/4] nbd: nbd fixes Date: Thu, 30 Jun 2016 14:02:00 +0300 Message-Id: <1467284524-15676-1-git-send-email-pranjas@gmail.com> X-Mailer: git-send-email 2.6.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series fixes the following 1) cleanup nbd_set_socket Simple fixes to nbd_set_socket. 2) fix might_sleep warning on socket shutdown: Fix sock_shutdown to avoid calling kernel_sock_shutdown while holding spin_lock. 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. 4) use i_size_write to assign nbd device size Instead of directly assigning nbd block device size, use i_size_write for modification. Pranay Kr. Srivastava (4): cleanup nbd_set_socket fix might_sleep warning on socket shutdown make nbd device wait for its users use i_size_write to assign nbd device size drivers/block/nbd.c | 168 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 123 insertions(+), 45 deletions(-) Changelog: *) Rebased all patches above on git://git.pengutronix.de/git/mpa/linux-nbd.git, commit:7ed71a8704eda7b75fbd0ed73fd0a5b6e469d250 *) Formatting issues, and removed unnecessary code. *) Splitted the patch to wait for users to create a new patch 4) use i_size_write to assign nbd device size -- 1.9.1