summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/delalloc-space.c4
-rw-r--r--fs/btrfs/disk-io.c2
-rw-r--r--fs/btrfs/file-item.c2
-rw-r--r--fs/btrfs/relocation.c4
-rw-r--r--fs/btrfs/transaction.c2
5 files changed, 7 insertions, 7 deletions
diff --git a/fs/btrfs/delalloc-space.c b/fs/btrfs/delalloc-space.c
index 4293a6383433..d357ed7efd99 100644
--- a/fs/btrfs/delalloc-space.c
+++ b/fs/btrfs/delalloc-space.c
@@ -281,7 +281,7 @@ static void btrfs_calculate_inode_block_rsv_size(struct btrfs_fs_info *fs_info,
*
* This is overestimating in most cases.
*/
- qgroup_rsv_size = (u64)outstanding_extents * fs_info->nodesize;
+ qgroup_rsv_size = ((u64)outstanding_extents << fs_info->nodesize_bits);
spin_lock(&block_rsv->lock);
block_rsv->size = reserve_size;
@@ -311,7 +311,7 @@ static void calc_inode_reservations(struct btrfs_inode *inode,
* for an inode update.
*/
*meta_reserve += inode_update;
- *qgroup_reserve = nr_extents * fs_info->nodesize;
+ *qgroup_reserve = (nr_extents << fs_info->nodesize_bits);
}
int btrfs_delalloc_reserve_metadata(struct btrfs_inode *inode, u64 num_bytes,
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index ec13eac2b3d7..531e0a68f06b 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -563,7 +563,7 @@ static bool btree_dirty_folio(struct address_space *mapping,
continue;
}
spin_unlock_irqrestore(&subpage->lock, flags);
- cur = page_start + cur_bit * fs_info->sectorsize;
+ cur = page_start + (cur_bit << fs_info->sectorsize_bits);
eb = find_extent_buffer(fs_info, cur);
ASSERT(eb);
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
index 82ae4a2afd34..9f6454e9db81 100644
--- a/fs/btrfs/file-item.c
+++ b/fs/btrfs/file-item.c
@@ -1309,7 +1309,7 @@ found:
index += ins_size;
ins_size /= csum_size;
- total_bytes += ins_size * fs_info->sectorsize;
+ total_bytes += (ins_size << fs_info->sectorsize_bits);
if (total_bytes < sums->len) {
btrfs_release_path(path);
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 2b11eda49c06..9469f8982355 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -1574,7 +1574,7 @@ static noinline_for_stack int merge_reloc_root(struct reloc_control *rc,
* and * 2 since we have two trees to COW.
*/
reserve_level = max_t(int, 1, btrfs_root_level(root_item));
- min_reserved = fs_info->nodesize * reserve_level * 2;
+ min_reserved = (reserve_level << fs_info->nodesize_bits) * 2;
memset(&next_key, 0, sizeof(next_key));
while (1) {
@@ -2572,7 +2572,7 @@ static int relocate_cowonly_block(struct btrfs_trans_handle *trans,
nr_levels = max(btrfs_header_level(root->node) - block->level, 0) + 1;
- num_bytes = fs_info->nodesize * nr_levels;
+ num_bytes = (nr_levels << fs_info->nodesize_bits);
ret = refill_metadata_space(trans, rc, num_bytes);
if (ret) {
btrfs_put_root(root);
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index a289a8fa237c..2263cb6bd8ca 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -631,7 +631,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items,
* the appropriate flushing if need be.
*/
if (num_items && root != fs_info->chunk_root) {
- qgroup_reserved = num_items * fs_info->nodesize;
+ qgroup_reserved = (num_items << fs_info->nodesize_bits);
/*
* Use prealloc for now, as there might be a currently running
* transaction that could free this reserved space prematurely