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 | 63 | goto nope; |
| 64 | 64 | |
| 65 | 65 | /* OK, it's a truncated page */ |
| 66 | − if (TestSetPageLocked(page)) | |
| 66 | + if (!trylock_page(page)) | |
| 67 | 67 | goto nope; |
| 68 | 68 | |
| 69 | 69 | page_cache_get(page); |
| @@ -446,7 +446,7 @@ void journal_commit_transaction(journal_t *journal) · 376 unmodified lines | ||
| 446 | 446 | spin_lock(&journal->j_list_lock); |
| 447 | 447 | } |
| 448 | 448 | if (unlikely(!buffer_uptodate(bh))) { |
| 449 | − if (TestSetPageLocked(bh->b_page)) { | |
| 449 | + if (!trylock_page(bh->b_page)) { | |
| 450 | 450 | spin_unlock(&journal->j_list_lock); |
| 451 | 451 | lock_page(bh->b_page); |
| 452 | 452 | spin_lock(&journal->j_list_lock); |