autofs4: cleanup expire code duplication
A significant portion of the autofs_dev_ioctl_expire() and autofs4_expire_multi() functions is duplicated code. This patch cleans that up. Signed-off-by: Ian Kent <raven@themaw.net> Signed-off-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@@ -478,22 +478,16 @@ int autofs4_expire_run(struct super_block *sb,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Call repeatedly until it returns -EAGAIN, meaning there's nothing
|
||||
more to be done */
|
||||
int autofs4_expire_multi(struct super_block *sb, struct vfsmount *mnt,
|
||||
struct autofs_sb_info *sbi, int __user *arg)
|
||||
int autofs4_do_expire_multi(struct super_block *sb, struct vfsmount *mnt,
|
||||
struct autofs_sb_info *sbi, int when)
|
||||
{
|
||||
struct dentry *dentry;
|
||||
int ret = -EAGAIN;
|
||||
int do_now = 0;
|
||||
|
||||
if (arg && get_user(do_now, arg))
|
||||
return -EFAULT;
|
||||
|
||||
if (autofs_type_trigger(sbi->type))
|
||||
dentry = autofs4_expire_direct(sb, mnt, sbi, do_now);
|
||||
dentry = autofs4_expire_direct(sb, mnt, sbi, when);
|
||||
else
|
||||
dentry = autofs4_expire_indirect(sb, mnt, sbi, do_now);
|
||||
dentry = autofs4_expire_indirect(sb, mnt, sbi, when);
|
||||
|
||||
if (dentry) {
|
||||
struct autofs_info *ino = autofs4_dentry_ino(dentry);
|
||||
@@ -516,3 +510,16 @@ int autofs4_expire_multi(struct super_block *sb, struct vfsmount *mnt,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Call repeatedly until it returns -EAGAIN, meaning there's nothing
|
||||
more to be done */
|
||||
int autofs4_expire_multi(struct super_block *sb, struct vfsmount *mnt,
|
||||
struct autofs_sb_info *sbi, int __user *arg)
|
||||
{
|
||||
int do_now = 0;
|
||||
|
||||
if (arg && get_user(do_now, arg))
|
||||
return -EFAULT;
|
||||
|
||||
return autofs4_do_expire_multi(sb, mnt, sbi, do_now);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user