From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alessio Igor Bogani Subject: [PATCH 2/5 -tip] cifs: umount_begin BKL pushdown Date: Thu, 23 Apr 2009 21:12:02 +0200 Message-ID: <1240513925-5603-3-git-send-email-abogani@texware.it> References: <1240513925-5603-1-git-send-email-abogani@texware.it> <1240513925-5603-2-git-send-email-abogani@texware.it> Cc: Jonathan Corbet , =?utf-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= , Peter Zijlstra , LKML , Alexander Viro , LFSDEV , Alessio Igor Bogani To: Ingo Molnar Return-path: Received: from mail-fx0-f158.google.com ([209.85.220.158]:61329 "EHLO mail-fx0-f158.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753777AbZDWTMQ (ORCPT ); Thu, 23 Apr 2009 15:12:16 -0400 In-Reply-To: <1240513925-5603-2-git-send-email-abogani@texware.it> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Signed-off-by: Alessio Igor Bogani --- fs/cifs/cifsfs.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 38491fd..9517ae1 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "cifsfs.h" #include "cifspdu.h" #define DECLARE_GLOBALS_HERE @@ -525,18 +526,26 @@ static void cifs_umount_begin(struct super_block *sb) struct cifs_sb_info *cifs_sb = CIFS_SB(sb); struct cifsTconInfo *tcon; - if (cifs_sb == NULL) + lock_kernel(); + + if (cifs_sb == NULL) { + unlock_kernel(); return; + } tcon = cifs_sb->tcon; - if (tcon == NULL) + if (tcon == NULL) { + unlock_kernel(); return; + } read_lock(&cifs_tcp_ses_lock); if (tcon->tc_count == 1) tcon->tidStatus = CifsExiting; read_unlock(&cifs_tcp_ses_lock); + unlock_kernel(); + /* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */ /* cancel_notify_requests(tcon); */ if (tcon->ses && tcon->ses->server) { -- 1.6.0.4