From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030289AbWARHYz (ORCPT ); Wed, 18 Jan 2006 02:24:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030285AbWARHYx (ORCPT ); Wed, 18 Jan 2006 02:24:53 -0500 Received: from 203-59-65-76.dyn.iinet.net.au ([203.59.65.76]:18885 "EHLO eagle.themaw.net") by vger.kernel.org with ESMTP id S1030274AbWARHYT (ORCPT ); Wed, 18 Jan 2006 02:24:19 -0500 Date: Wed, 18 Jan 2006 15:23:43 +0800 Message-Id: <200601180723.k0I7NhHB006177@eagle.themaw.net> From: Ian Kent To: Andrew Morton Cc: Kernel Mailing List , linux-fsdevel@vger.kernel.org, autofs@linux.kernel.org Subject: [PATCH 8/13] autofs4 - remove update_atime unused function Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This patch removes the update of i_atime from autofs4 in favour of having VFS update it. i_atime is never used for expire in autofs4. Signed-off-by: Ian Kent --- linux-2.6.15-mm3/fs/autofs4/root.c.remove-update_atime 2006-01-13 16:21:05.000000000 +0800 +++ linux-2.6.15-mm3/fs/autofs4/root.c 2006-01-13 16:27:09.000000000 +0800 @@ -84,24 +84,6 @@ static int autofs4_root_readdir(struct f return dcache_readdir(file, dirent, filldir); } -/* Update usage from here to top of tree, so that scan of - top-level directories will give a useful result */ -static void autofs4_update_usage(struct vfsmount *mnt, struct dentry *dentry) -{ - struct dentry *top = dentry->d_sb->s_root; - - spin_lock(&dcache_lock); - for(; dentry != top; dentry = dentry->d_parent) { - struct autofs_info *ino = autofs4_dentry_ino(dentry); - - if (ino) { - touch_atime(mnt, dentry); - ino->last_used = jiffies; - } - } - spin_unlock(&dcache_lock); -} - static int autofs4_dir_open(struct inode *inode, struct file *file) { struct dentry *dentry = file->f_dentry; @@ -246,10 +228,9 @@ out: return dcache_readdir(file, dirent, filldir); } -static int try_to_fill_dentry(struct vfsmount *mnt, struct dentry *dentry, int flags) +static int try_to_fill_dentry(struct dentry *dentry, int flags) { - struct super_block *sb = mnt->mnt_sb; - struct autofs_sb_info *sbi = autofs4_sbi(sb); + struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); struct autofs_info *ino = autofs4_dentry_ino(dentry); int status = 0; @@ -323,13 +304,6 @@ static int try_to_fill_dentry(struct vfs } } - /* - * We don't update the usages for the autofs daemon itself, this - * is necessary for recursive autofs mounts - */ - if (!autofs4_oz_mode(sbi)) - autofs4_update_usage(mnt, dentry); - /* Initialize expiry counter after successful mount */ if (ino) ino->last_used = jiffies; @@ -357,7 +331,7 @@ static int autofs4_revalidate(struct den /* Pending dentry */ if (autofs4_ispending(dentry)) { if (!oz_mode) - status = try_to_fill_dentry(nd->mnt, dentry, flags); + status = try_to_fill_dentry(dentry, flags); return status; } @@ -374,15 +348,11 @@ static int autofs4_revalidate(struct den dentry, dentry->d_name.len, dentry->d_name.name); spin_unlock(&dcache_lock); if (!oz_mode) - status = try_to_fill_dentry(nd->mnt, dentry, flags); + status = try_to_fill_dentry(dentry, flags); return status; } spin_unlock(&dcache_lock); - /* Update the usage list */ - if (!oz_mode) - autofs4_update_usage(nd->mnt, dentry); - return 1; }