Commit c0ba7e51 authored by Ian Kent's avatar Ian Kent Committed by Linus Torvalds

[PATCH] autofs4: zero timeout prevents shutdown

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: default avatarIan Kent <raven@themaw.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a6d967a4
...@@ -32,7 +32,7 @@ static inline int autofs4_can_expire(struct dentry *dentry, ...@@ -32,7 +32,7 @@ static inline int autofs4_can_expire(struct dentry *dentry,
if (!do_now) { if (!do_now) {
/* Too young to die */ /* Too young to die */
if (time_after(ino->last_used + timeout, now)) if (!timeout || time_after(ino->last_used + timeout, now))
return 0; return 0;
/* update last_used here :- /* update last_used here :-
...@@ -253,7 +253,7 @@ static struct dentry *autofs4_expire_direct(struct super_block *sb, ...@@ -253,7 +253,7 @@ static struct dentry *autofs4_expire_direct(struct super_block *sb,
struct dentry *root = dget(sb->s_root); struct dentry *root = dget(sb->s_root);
int do_now = how & AUTOFS_EXP_IMMEDIATE; int do_now = how & AUTOFS_EXP_IMMEDIATE;
if (!sbi->exp_timeout || !root) if (!root)
return NULL; return NULL;
now = jiffies; now = jiffies;
...@@ -293,7 +293,7 @@ static struct dentry *autofs4_expire_indirect(struct super_block *sb, ...@@ -293,7 +293,7 @@ static struct dentry *autofs4_expire_indirect(struct super_block *sb,
int do_now = how & AUTOFS_EXP_IMMEDIATE; int do_now = how & AUTOFS_EXP_IMMEDIATE;
int exp_leaves = how & AUTOFS_EXP_LEAVES; int exp_leaves = how & AUTOFS_EXP_LEAVES;
if ( !sbi->exp_timeout || !root ) if (!root)
return NULL; return NULL;
now = jiffies; now = jiffies;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment