Converting page lock to new locking bitops requires a change of page flag operation naming, so we might as well convert it to something nicer (!TestSetPageLocked_Lock => trylock_page, SetPageLocked => set_page_locked). This also facilitates lockdeping of page lock.
Showing the changes to fs/jbd/commit.c (1 of 20 files). Show all
Unified · Split
| @@ -63,7 +63,7 @@ static void release_buffer_page(struct buffer_head *bh) · 62 unmodified lines | |||
| 63 | goto nope; | 63 | goto nope; |
| 64 | 64 | ||
| 65 | /* OK, it's a truncated page */ | 65 | /* OK, it's a truncated page */ |
| 66 | if (TestSetPageLocked(page)) | 66 | if (!trylock_page(page)) |
| 67 | goto nope; | 67 | goto nope; |
| 68 | 68 | ||
| 69 | page_cache_get(page); | 69 | page_cache_get(page); |
| @@ -446,7 +446,7 @@ void journal_commit_transaction(journal_t *journal) · 376 unmodified lines | |||
| 446 | spin_lock(&journal->j_list_lock); | 446 | spin_lock(&journal->j_list_lock); |
| 447 | } | 447 | } |
| 448 | if (unlikely(!buffer_uptodate(bh))) { | 448 | if (unlikely(!buffer_uptodate(bh))) { |
| 449 | if (TestSetPageLocked(bh->b_page)) { | 449 | if (!trylock_page(bh->b_page)) { |
| 450 | spin_unlock(&journal->j_list_lock); | 450 | spin_unlock(&journal->j_list_lock); |
| 451 | lock_page(bh->b_page); | 451 | lock_page(bh->b_page); |
| 452 | spin_lock(&journal->j_list_lock); | 452 | spin_lock(&journal->j_list_lock); |