Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:steve-beattie
kernel
linux-2.6-autofs4-cannot-shutdown-when-timeout-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File linux-2.6-autofs4-cannot-shutdown-when-timeout-zero.patch of Package kernel
Date: Mon, 25 Sep 2006 12:02:47 +0800 From: Ian Kent <ikent@redhat.com> Subject: [RHEL 5 PATCH] autofs4 - automounter cannot shutdown when timeount=0 Hi all, BZ 205836 describes an issue where where autofs will not shutdown if a timeout of zero is used. I've found this to be present in kernels as far back as 2002/06. I admit it's surprising I haven't seen this before as I'm sure I've checked this a few times over the years, never the less it looks so clearly wrong to me know and this patch seems so clearly the way to fix it. So here it is. 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 <raven@themaw.net> --- --- 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;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor