diff options
| author | Ian Kent <raven@themaw.net> | 2006-03-27 04:14:48 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-27 11:44:39 -0500 |
| commit | 862b110f0132401e422783bf68521ade3dc67578 (patch) | |
| tree | 4cdf38bfb51fb6abba7ab99dc9d406325f0fb35d /fs/autofs4 | |
| parent | e0a7aae94030b878601eb67686b696de4a3764f0 (diff) | |
[PATCH] autofs4: remove update_atime unused function
Remove 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 <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/autofs4')
| -rw-r--r-- | fs/autofs4/root.c | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 3a4a5b47575c..72dca3335e25 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c | |||
| @@ -84,24 +84,6 @@ static int autofs4_root_readdir(struct file *file, void *dirent, | |||
| 84 | return dcache_readdir(file, dirent, filldir); | 84 | return dcache_readdir(file, dirent, filldir); |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | /* Update usage from here to top of tree, so that scan of | ||
| 88 | top-level directories will give a useful result */ | ||
| 89 | static void autofs4_update_usage(struct vfsmount *mnt, struct dentry *dentry) | ||
| 90 | { | ||
| 91 | struct dentry *top = dentry->d_sb->s_root; | ||
| 92 | |||
| 93 | spin_lock(&dcache_lock); | ||
| 94 | for(; dentry != top; dentry = dentry->d_parent) { | ||
| 95 | struct autofs_info *ino = autofs4_dentry_ino(dentry); | ||
| 96 | |||
| 97 | if (ino) { | ||
| 98 | touch_atime(mnt, dentry); | ||
| 99 | ino->last_used = jiffies; | ||
| 100 | } | ||
| 101 | } | ||
| 102 | spin_unlock(&dcache_lock); | ||
| 103 | } | ||
| 104 | |||
| 105 | static int autofs4_dir_open(struct inode *inode, struct file *file) | 87 | static int autofs4_dir_open(struct inode *inode, struct file *file) |
| 106 | { | 88 | { |
| 107 | struct dentry *dentry = file->f_dentry; | 89 | struct dentry *dentry = file->f_dentry; |
| @@ -246,10 +228,9 @@ out: | |||
| 246 | return dcache_readdir(file, dirent, filldir); | 228 | return dcache_readdir(file, dirent, filldir); |
| 247 | } | 229 | } |
| 248 | 230 | ||
| 249 | static int try_to_fill_dentry(struct vfsmount *mnt, struct dentry *dentry, int flags) | 231 | static int try_to_fill_dentry(struct dentry *dentry, int flags) |
| 250 | { | 232 | { |
| 251 | struct super_block *sb = mnt->mnt_sb; | 233 | struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); |
| 252 | struct autofs_sb_info *sbi = autofs4_sbi(sb); | ||
| 253 | struct autofs_info *ino = autofs4_dentry_ino(dentry); | 234 | struct autofs_info *ino = autofs4_dentry_ino(dentry); |
| 254 | int status = 0; | 235 | int status = 0; |
| 255 | 236 | ||
| @@ -323,13 +304,6 @@ static int try_to_fill_dentry(struct vfsmount *mnt, struct dentry *dentry, int f | |||
| 323 | } | 304 | } |
| 324 | } | 305 | } |
| 325 | 306 | ||
| 326 | /* | ||
| 327 | * We don't update the usages for the autofs daemon itself, this | ||
| 328 | * is necessary for recursive autofs mounts | ||
| 329 | */ | ||
| 330 | if (!autofs4_oz_mode(sbi)) | ||
| 331 | autofs4_update_usage(mnt, dentry); | ||
| 332 | |||
| 333 | /* Initialize expiry counter after successful mount */ | 307 | /* Initialize expiry counter after successful mount */ |
| 334 | if (ino) | 308 | if (ino) |
| 335 | ino->last_used = jiffies; | 309 | ino->last_used = jiffies; |
| @@ -357,7 +331,7 @@ static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
| 357 | /* Pending dentry */ | 331 | /* Pending dentry */ |
| 358 | if (autofs4_ispending(dentry)) { | 332 | if (autofs4_ispending(dentry)) { |
| 359 | if (!oz_mode) | 333 | if (!oz_mode) |
| 360 | status = try_to_fill_dentry(nd->mnt, dentry, flags); | 334 | status = try_to_fill_dentry(dentry, flags); |
| 361 | return status; | 335 | return status; |
| 362 | } | 336 | } |
| 363 | 337 | ||
| @@ -374,15 +348,11 @@ static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
| 374 | dentry, dentry->d_name.len, dentry->d_name.name); | 348 | dentry, dentry->d_name.len, dentry->d_name.name); |
| 375 | spin_unlock(&dcache_lock); | 349 | spin_unlock(&dcache_lock); |
| 376 | if (!oz_mode) | 350 | if (!oz_mode) |
| 377 | status = try_to_fill_dentry(nd->mnt, dentry, flags); | 351 | status = try_to_fill_dentry(dentry, flags); |
| 378 | return status; | 352 | return status; |
| 379 | } | 353 | } |
| 380 | spin_unlock(&dcache_lock); | 354 | spin_unlock(&dcache_lock); |
| 381 | 355 | ||
| 382 | /* Update the usage list */ | ||
| 383 | if (!oz_mode) | ||
| 384 | autofs4_update_usage(nd->mnt, dentry); | ||
| 385 | |||
| 386 | return 1; | 356 | return 1; |
| 387 | } | 357 | } |
| 388 | 358 | ||
