From: Christoph Hellwig All callers use touch_atime now which takes a vfsmount and allows us to implement per-mount noatime. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton --- fs/inode.c | 9 ++++++--- include/linux/fs.h | 10 +--------- 2 files changed, 7 insertions(+), 12 deletions(-) diff -puN fs/inode.c~remove-update_atime fs/inode.c --- devel/fs/inode.c~remove-update_atime 2005-11-04 23:42:29.000000000 -0800 +++ devel-akpm/fs/inode.c 2005-11-04 23:42:29.000000000 -0800 @@ -1176,17 +1176,20 @@ sector_t bmap(struct inode * inode, sect EXPORT_SYMBOL(bmap); /** - * update_atime - update the access time + * touch_atime - update the access time + * @mnt: mount the inode is accessed on * @inode: inode accessed * * Update the accessed time on an inode and mark it for writeback. * This function automatically handles read only file systems and media, * as well as the "noatime" flag and inode specific "noatime" markers. */ -void update_atime(struct inode *inode) +void touch_atime(struct vfsmount *mnt, struct dentry *dentry) { + struct inode *inode = dentry->d_inode; struct timespec now; + /* per-mountpoint checks will go here */ if (IS_NOATIME(inode)) return; if (IS_NODIRATIME(inode) && S_ISDIR(inode->i_mode)) @@ -1201,7 +1204,7 @@ void update_atime(struct inode *inode) } } -EXPORT_SYMBOL(update_atime); +EXPORT_SYMBOL(touch_atime); /** * file_update_time - update mtime and ctime time diff -puN include/linux/fs.h~remove-update_atime include/linux/fs.h --- devel/include/linux/fs.h~remove-update_atime 2005-11-04 23:42:29.000000000 -0800 +++ devel-akpm/include/linux/fs.h 2005-11-04 23:42:29.000000000 -0800 @@ -232,9 +232,6 @@ struct kstatfs; struct vm_area_struct; struct vfsmount; -/* Used to be a macro which just called the function, now just a function */ -extern void update_atime (struct inode *); - extern void __init inode_init(unsigned long); extern void __init inode_init_early(void); extern void __init mnt_init(unsigned long); @@ -1075,12 +1072,7 @@ static inline void mark_inode_dirty_sync __mark_inode_dirty(inode, I_DIRTY_SYNC); } -static inline void touch_atime(struct vfsmount *mnt, struct dentry *dentry) -{ - /* per-mountpoint checks will go here */ - update_atime(dentry->d_inode); -} - +extern void touch_atime(struct vfsmount *mnt, struct dentry *dentry); static inline void file_accessed(struct file *file) { if (!(file->f_flags & O_NOATIME)) _