From patchwork Sun Jul 8 03:17:39 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Namjae Jeon X-Patchwork-Id: 1169241 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id DA38D3FE4F for ; Sun, 8 Jul 2012 03:25:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752076Ab2GHDRy (ORCPT ); Sat, 7 Jul 2012 23:17:54 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:36361 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752061Ab2GHDRx (ORCPT ); Sat, 7 Jul 2012 23:17:53 -0400 Received: by pbbrp8 with SMTP id rp8so17127688pbb.19 for ; Sat, 07 Jul 2012 20:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=kc8SZkvtSz5PsztnDixB8ACjiclXcBHIe+nHDAkqswE=; b=IfUkxT7QVkEzafA44GQ264F6oJB5RaOQimk1+2M5b0fWQdrzzSI8CyLrScuRG8ehQA DtgCih1I2I1AdaFvATcR8TMqMFW1yuEIUxc2AMNEVw/xdz3RAaLSKDEXW1wUFmIAurik 2CThJJ/0R5LDSCzfd5WUYgTmjg0Ivnd0z9u7zUxDSfoVh3EL5C7MCAtQjY3Z6KwZg9Hh jkLlGQiq/yAkF+VibpfeTNbH5Vza3O+ZuDJNH5YhPTToWaeSkjhOlxNQ17WYuZ/zLmln yQsIGDbKbr2MJMXOkAxLqpXp8WWjNqVF3g4VKe12LMrJvFtDEpOLnh8k20uBOYpCrDeN Mdmg== Received: by 10.66.82.2 with SMTP id e2mr55941336pay.67.1341717472993; Sat, 07 Jul 2012 20:17:52 -0700 (PDT) Received: from linkinjeon-HP-Compaq-nc6230-EA516PA-AB1.kornet ([121.143.184.28]) by mx.google.com with ESMTPS id qd10sm24926697pbb.38.2012.07.07.20.17.49 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 07 Jul 2012 20:17:52 -0700 (PDT) From: Namjae Jeon To: SteveD@redhat.com, bfields@fieldses.org, Trond.Myklebust@netapp.com Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Namjae Jeon , Vivek Trivedi Subject: [PATCH] nfs-util: Add cache_flush in mountd UMNT procedure. Date: Sat, 7 Jul 2012 23:17:39 -0400 Message-Id: <1341717459-7297-1-git-send-email-linkinjeon@gmail.com> X-Mailer: git-send-email 1.7.9.5 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org For removing storage device - user needs to safely un-mount the device and then eject. But if 'EBUSY' occurs in umount then it will create confusion for the user as it will mean some I/O is in progress - and won't allow user to safely ejecting device. 1. Without this patch: On NFS Client: $ mount.nfs :/mnt /mnt $ umount.nfs /mnt On NFS Server: $ umount /mnt umount: can't umount /mnt: Device or resource busy 2. With this patch: On NFS Client: $ mount.nfs :/mnt /mnt $ umount.nfs /mnt On NFS Server: $ umount.nfs /mnt --> umount successful Signed-off-by: Namjae Jeon Signed-off-by: Vivek Trivedi --- utils/mountd/mountd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c index bcf5080..2b190fb 100644 --- a/utils/mountd/mountd.c +++ b/utils/mountd/mountd.c @@ -275,6 +275,7 @@ mount_umnt_1_svc(struct svc_req *rqstp, dirpath *argp, void *UNUSED(resp)) return 1; mountlist_del(host_ntop(sap, buf, sizeof(buf)), p); + cache_flush(1); return 1; } @@ -292,6 +293,7 @@ mount_umntall_1_svc(struct svc_req *rqstp, void *UNUSED(argp), auth_reload(); mountlist_del_all(nfs_getrpccaller(rqstp->rq_xprt)); + cache_flush(1); return 1; }