diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
commit | 0f2cc4ecd81dc1917a041dc93db0ada28f8356fa (patch) | |
tree | f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3 /fs/autofs4/expire.c | |
parent | 1fae4cfb97302289bb5df6a8195eb28385d0b002 (diff) | |
parent | 9643f5d94aadd47a5fa9754fb60f2c957de05903 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
init: Open /dev/console from rootfs
mqueue: fix typo "failues" -> "failures"
mqueue: only set error codes if they are really necessary
mqueue: simplify do_open() error handling
mqueue: apply mathematics distributivity on mq_bytes calculation
mqueue: remove unneeded info->messages initialization
mqueue: fix mq_open() file descriptor leak on user-space processes
fix race in d_splice_alias()
set S_DEAD on unlink() and non-directory rename() victims
vfs: add NOFOLLOW flag to umount(2)
get rid of ->mnt_parent in tomoyo/realpath
hppfs can use existing proc_mnt, no need for do_kern_mount() in there
Mirror MS_KERNMOUNT in ->mnt_flags
get rid of useless vfsmount_lock use in put_mnt_ns()
Take vfsmount_lock to fs/internal.h
get rid of insanity with namespace roots in tomoyo
take check for new events in namespace (guts of mounts_poll()) to namespace.c
Don't mess with generic_permission() under ->d_lock in hpfs
sanitize const/signedness for udf
nilfs: sanitize const/signedness in dealing with ->d_name.name
...
Fix up fairly trivial (famous last words...) conflicts in
drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
Diffstat (limited to 'fs/autofs4/expire.c')
-rw-r--r-- | fs/autofs4/expire.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c index 74bc9aa6df31..a796c9417fb1 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c | |||
@@ -279,7 +279,6 @@ struct dentry *autofs4_expire_direct(struct super_block *sb, | |||
279 | root->d_mounted--; | 279 | root->d_mounted--; |
280 | } | 280 | } |
281 | ino->flags |= AUTOFS_INF_EXPIRING; | 281 | ino->flags |= AUTOFS_INF_EXPIRING; |
282 | autofs4_add_expiring(root); | ||
283 | init_completion(&ino->expire_complete); | 282 | init_completion(&ino->expire_complete); |
284 | spin_unlock(&sbi->fs_lock); | 283 | spin_unlock(&sbi->fs_lock); |
285 | return root; | 284 | return root; |
@@ -407,7 +406,6 @@ found: | |||
407 | expired, (int)expired->d_name.len, expired->d_name.name); | 406 | expired, (int)expired->d_name.len, expired->d_name.name); |
408 | ino = autofs4_dentry_ino(expired); | 407 | ino = autofs4_dentry_ino(expired); |
409 | ino->flags |= AUTOFS_INF_EXPIRING; | 408 | ino->flags |= AUTOFS_INF_EXPIRING; |
410 | autofs4_add_expiring(expired); | ||
411 | init_completion(&ino->expire_complete); | 409 | init_completion(&ino->expire_complete); |
412 | spin_unlock(&sbi->fs_lock); | 410 | spin_unlock(&sbi->fs_lock); |
413 | spin_lock(&dcache_lock); | 411 | spin_lock(&dcache_lock); |
@@ -435,7 +433,7 @@ int autofs4_expire_wait(struct dentry *dentry) | |||
435 | 433 | ||
436 | DPRINTK("expire done status=%d", status); | 434 | DPRINTK("expire done status=%d", status); |
437 | 435 | ||
438 | if (d_unhashed(dentry) && IS_DEADDIR(dentry->d_inode)) | 436 | if (d_unhashed(dentry)) |
439 | return -EAGAIN; | 437 | return -EAGAIN; |
440 | 438 | ||
441 | return status; | 439 | return status; |
@@ -475,7 +473,6 @@ int autofs4_expire_run(struct super_block *sb, | |||
475 | spin_lock(&sbi->fs_lock); | 473 | spin_lock(&sbi->fs_lock); |
476 | ino = autofs4_dentry_ino(dentry); | 474 | ino = autofs4_dentry_ino(dentry); |
477 | ino->flags &= ~AUTOFS_INF_EXPIRING; | 475 | ino->flags &= ~AUTOFS_INF_EXPIRING; |
478 | autofs4_del_expiring(dentry); | ||
479 | complete_all(&ino->expire_complete); | 476 | complete_all(&ino->expire_complete); |
480 | spin_unlock(&sbi->fs_lock); | 477 | spin_unlock(&sbi->fs_lock); |
481 | 478 | ||
@@ -506,7 +503,6 @@ int autofs4_do_expire_multi(struct super_block *sb, struct vfsmount *mnt, | |||
506 | ino->flags &= ~AUTOFS_INF_MOUNTPOINT; | 503 | ino->flags &= ~AUTOFS_INF_MOUNTPOINT; |
507 | } | 504 | } |
508 | ino->flags &= ~AUTOFS_INF_EXPIRING; | 505 | ino->flags &= ~AUTOFS_INF_EXPIRING; |
509 | autofs4_del_expiring(dentry); | ||
510 | complete_all(&ino->expire_complete); | 506 | complete_all(&ino->expire_complete); |
511 | spin_unlock(&sbi->fs_lock); | 507 | spin_unlock(&sbi->fs_lock); |
512 | dput(dentry); | 508 | dput(dentry); |