diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-03-23 06:00:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-23 10:38:12 -0500 |
commit | f24075bd0c1cd1cc2cf86d394f960aa0401de573 (patch) | |
tree | 609ad9884e43a8bb1ba5834996955a06bef66fa2 /fs/inode.c | |
parent | a11f3a0574a5734db3e5de38922430d005d35118 (diff) |
[PATCH] sem2mutex: iprune
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/inode.c')
-rw-r--r-- | fs/inode.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/inode.c b/fs/inode.c index 603e93ef0c6f..25967b67903d 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -84,14 +84,14 @@ static struct hlist_head *inode_hashtable; | |||
84 | DEFINE_SPINLOCK(inode_lock); | 84 | DEFINE_SPINLOCK(inode_lock); |
85 | 85 | ||
86 | /* | 86 | /* |
87 | * iprune_sem provides exclusion between the kswapd or try_to_free_pages | 87 | * iprune_mutex provides exclusion between the kswapd or try_to_free_pages |
88 | * icache shrinking path, and the umount path. Without this exclusion, | 88 | * icache shrinking path, and the umount path. Without this exclusion, |
89 | * by the time prune_icache calls iput for the inode whose pages it has | 89 | * by the time prune_icache calls iput for the inode whose pages it has |
90 | * been invalidating, or by the time it calls clear_inode & destroy_inode | 90 | * been invalidating, or by the time it calls clear_inode & destroy_inode |
91 | * from its final dispose_list, the struct super_block they refer to | 91 | * from its final dispose_list, the struct super_block they refer to |
92 | * (for inode->i_sb->s_op) may already have been freed and reused. | 92 | * (for inode->i_sb->s_op) may already have been freed and reused. |
93 | */ | 93 | */ |
94 | DECLARE_MUTEX(iprune_sem); | 94 | DEFINE_MUTEX(iprune_mutex); |
95 | 95 | ||
96 | /* | 96 | /* |
97 | * Statistics gathering.. | 97 | * Statistics gathering.. |
@@ -319,7 +319,7 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose) | |||
319 | /* | 319 | /* |
320 | * We can reschedule here without worrying about the list's | 320 | * We can reschedule here without worrying about the list's |
321 | * consistency because the per-sb list of inodes must not | 321 | * consistency because the per-sb list of inodes must not |
322 | * change during umount anymore, and because iprune_sem keeps | 322 | * change during umount anymore, and because iprune_mutex keeps |
323 | * shrink_icache_memory() away. | 323 | * shrink_icache_memory() away. |
324 | */ | 324 | */ |
325 | cond_resched_lock(&inode_lock); | 325 | cond_resched_lock(&inode_lock); |
@@ -355,14 +355,14 @@ int invalidate_inodes(struct super_block * sb) | |||
355 | int busy; | 355 | int busy; |
356 | LIST_HEAD(throw_away); | 356 | LIST_HEAD(throw_away); |
357 | 357 | ||
358 | down(&iprune_sem); | 358 | mutex_lock(&iprune_mutex); |
359 | spin_lock(&inode_lock); | 359 | spin_lock(&inode_lock); |
360 | inotify_unmount_inodes(&sb->s_inodes); | 360 | inotify_unmount_inodes(&sb->s_inodes); |
361 | busy = invalidate_list(&sb->s_inodes, &throw_away); | 361 | busy = invalidate_list(&sb->s_inodes, &throw_away); |
362 | spin_unlock(&inode_lock); | 362 | spin_unlock(&inode_lock); |
363 | 363 | ||
364 | dispose_list(&throw_away); | 364 | dispose_list(&throw_away); |
365 | up(&iprune_sem); | 365 | mutex_unlock(&iprune_mutex); |
366 | 366 | ||
367 | return busy; | 367 | return busy; |
368 | } | 368 | } |
@@ -377,7 +377,7 @@ int __invalidate_device(struct block_device *bdev) | |||
377 | if (sb) { | 377 | if (sb) { |
378 | /* | 378 | /* |
379 | * no need to lock the super, get_super holds the | 379 | * no need to lock the super, get_super holds the |
380 | * read semaphore so the filesystem cannot go away | 380 | * read mutex so the filesystem cannot go away |
381 | * under us (->put_super runs with the write lock | 381 | * under us (->put_super runs with the write lock |
382 | * hold). | 382 | * hold). |
383 | */ | 383 | */ |
@@ -423,7 +423,7 @@ static void prune_icache(int nr_to_scan) | |||
423 | int nr_scanned; | 423 | int nr_scanned; |
424 | unsigned long reap = 0; | 424 | unsigned long reap = 0; |
425 | 425 | ||
426 | down(&iprune_sem); | 426 | mutex_lock(&iprune_mutex); |
427 | spin_lock(&inode_lock); | 427 | spin_lock(&inode_lock); |
428 | for (nr_scanned = 0; nr_scanned < nr_to_scan; nr_scanned++) { | 428 | for (nr_scanned = 0; nr_scanned < nr_to_scan; nr_scanned++) { |
429 | struct inode *inode; | 429 | struct inode *inode; |
@@ -459,7 +459,7 @@ static void prune_icache(int nr_to_scan) | |||
459 | spin_unlock(&inode_lock); | 459 | spin_unlock(&inode_lock); |
460 | 460 | ||
461 | dispose_list(&freeable); | 461 | dispose_list(&freeable); |
462 | up(&iprune_sem); | 462 | mutex_unlock(&iprune_mutex); |
463 | 463 | ||
464 | if (current_is_kswapd()) | 464 | if (current_is_kswapd()) |
465 | mod_page_state(kswapd_inodesteal, reap); | 465 | mod_page_state(kswapd_inodesteal, reap); |