mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
btrfs: unwrap folio locking helpers
Another conversion to folio API, use the folio locking directly instead of back and forth page <-> folio conversions. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
549a88acbe
commit
f8e0b8f9c2
|
|
@ -3131,7 +3131,7 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
|
|||
* live buffer and won't free them prematurely.
|
||||
*/
|
||||
for (int i = 0; i < num_folios; i++)
|
||||
unlock_page(folio_page(eb->folios[i], 0));
|
||||
folio_unlock(eb->folios[i]);
|
||||
return eb;
|
||||
|
||||
out:
|
||||
|
|
@ -3155,7 +3155,7 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
|
|||
for (int i = 0; i < attached; i++) {
|
||||
ASSERT(eb->folios[i]);
|
||||
detach_extent_buffer_folio(eb, eb->folios[i]);
|
||||
unlock_page(folio_page(eb->folios[i], 0));
|
||||
folio_unlock(eb->folios[i]);
|
||||
folio_put(eb->folios[i]);
|
||||
eb->folios[i] = NULL;
|
||||
}
|
||||
|
|
@ -3364,12 +3364,12 @@ void set_extent_buffer_dirty(struct extent_buffer *eb)
|
|||
* the above race.
|
||||
*/
|
||||
if (subpage)
|
||||
lock_page(folio_page(eb->folios[0], 0));
|
||||
folio_lock(eb->folios[0]);
|
||||
for (int i = 0; i < num_folios; i++)
|
||||
btrfs_folio_set_dirty(eb->fs_info, eb->folios[i],
|
||||
eb->start, eb->len);
|
||||
if (subpage)
|
||||
unlock_page(folio_page(eb->folios[0], 0));
|
||||
folio_unlock(eb->folios[0]);
|
||||
percpu_counter_add_batch(&eb->fs_info->dirty_metadata_bytes,
|
||||
eb->len,
|
||||
eb->fs_info->dirty_metadata_batch);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user