Return-Path: Received: from localhost (bix [127.0.0.1]) by localhost.localdomain (8.12.10/8.12.10) with ESMTP id k8J3lWai028229 for ; Mon, 18 Sep 2006 20:47:38 -0700 Received: from bix [127.0.0.1] by localhost with POP3 (fetchmail-6.2.0) for akpm@localhost (single-drop); Mon, 18 Sep 2006 20:47:38 -0700 (PDT) Received: from smtp.osdl.org (smtp.osdl.org [65.172.181.4]) by shell0.pdx.osdl.net (8.13.1/8.11.6) with ESMTP id k8J3mQiS005084 for ; Mon, 18 Sep 2006 20:48:27 -0700 Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by smtp.osdl.org (8.12.8/8.12.8) with ESMTP id k8J3mPnV002511 for ; Mon, 18 Sep 2006 20:48:26 -0700 Received: from frontend3.internal (frontend3.internal [10.202.2.152]) by frontend1.messagingengine.com (Postfix) with ESMTP id 56EF3DA7DB5; Mon, 18 Sep 2006 23:48:23 -0400 (EDT) Received: from heartbeat1.internal ([10.202.2.160]) by frontend3.internal (MEProxy); Mon, 18 Sep 2006 23:48:25 -0400 X-Sasl-enc: AhkaQw5KLuby6ovLbjZN52VJRbO+kNKog2u/dGqSa8Ze 1158637704 Received: from raven.themaw.net (203-59-119-77.dyn.iinet.net.au [203.59.119.77]) by mail.messagingengine.com (Postfix) with ESMTP id 54A98152B2; Mon, 18 Sep 2006 23:48:21 -0400 (EDT) Date: Tue, 19 Sep 2006 11:48:15 +0800 (WST) From: Ian Kent To: Andrew Morton cc: autofs mailing list , Kernel Mailing List , linux-fsdevel Subject: [PATCH] autofs4 - zero timeout prevents shutdown Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Received-SPF: none (domain of raven@themaw.net does not designate permitted sender hosts) X-MIMEDefang-Filter: osdl$Revision: 1.148 $ X-Scanned-By: MIMEDefang 2.36 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on bix X-Spam-Level: X-Spam-Status: No, score=-1.3 required=2.0 tests=AWL,BAYES_00, FORGED_RCVD_HELO autolearn=ham version=3.0.2 Hi Andrew, If the timeout of an autofs mount is set to zero then umounts are disabled. This works fine, however the kernel module checks the expire timeout and goes no further if it is zero. This is not the right thing to do at shutdown as the module is passed an option to expire mounts regardless of their timeout setting. This patch allows autofs to honor the force expire option. Signed-off-by: Ian Kent --- --- linux-2.6.18-rc6-mm2/fs/autofs4/expire.c.zero-timeout 2006-09-14 10:25:55.000000000 +0800 +++ linux-2.6.18-rc6-mm2/fs/autofs4/expire.c 2006-09-14 10:37:54.000000000 +0800 @@ -32,7 +32,7 @@ static inline int autofs4_can_expire(str if (!do_now) { /* Too young to die */ - if (time_after(ino->last_used + timeout, now)) + if (!timeout || time_after(ino->last_used + timeout, now)) return 0; /* update last_used here :- @@ -253,7 +253,7 @@ static struct dentry *autofs4_expire_dir struct dentry *root = dget(sb->s_root); int do_now = how & AUTOFS_EXP_IMMEDIATE; - if (!sbi->exp_timeout || !root) + if (!root) return NULL; now = jiffies; @@ -293,7 +293,7 @@ static struct dentry *autofs4_expire_ind int do_now = how & AUTOFS_EXP_IMMEDIATE; int exp_leaves = how & AUTOFS_EXP_LEAVES; - if ( !sbi->exp_timeout || !root ) + if (!root) return NULL; now = jiffies;