cifs: handle when server starts supporting multichannel
[platform/kernel/linux-starfive.git] / fs / btrfs / file-item.c
index 1ce5dd1..45cae35 100644 (file)
@@ -194,7 +194,7 @@ int btrfs_insert_hole_extent(struct btrfs_trans_handle *trans,
        btrfs_set_file_extent_encryption(leaf, item, 0);
        btrfs_set_file_extent_other_encoding(leaf, item, 0);
 
-       btrfs_mark_buffer_dirty(leaf);
+       btrfs_mark_buffer_dirty(trans, leaf);
 out:
        btrfs_free_path(path);
        return ret;
@@ -811,11 +811,12 @@ blk_status_t btrfs_alloc_dummy_sum(struct btrfs_bio *bbio)
  * This calls btrfs_truncate_item with the correct args based on the overlap,
  * and fixes up the key as required.
  */
-static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
+static noinline void truncate_one_csum(struct btrfs_trans_handle *trans,
                                       struct btrfs_path *path,
                                       struct btrfs_key *key,
                                       u64 bytenr, u64 len)
 {
+       struct btrfs_fs_info *fs_info = trans->fs_info;
        struct extent_buffer *leaf;
        const u32 csum_size = fs_info->csum_size;
        u64 csum_end;
@@ -836,7 +837,7 @@ static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
                 */
                u32 new_size = (bytenr - key->offset) >> blocksize_bits;
                new_size *= csum_size;
-               btrfs_truncate_item(path, new_size, 1);
+               btrfs_truncate_item(trans, path, new_size, 1);
        } else if (key->offset >= bytenr && csum_end > end_byte &&
                   end_byte > key->offset) {
                /*
@@ -848,10 +849,10 @@ static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
                u32 new_size = (csum_end - end_byte) >> blocksize_bits;
                new_size *= csum_size;
 
-               btrfs_truncate_item(path, new_size, 0);
+               btrfs_truncate_item(trans, path, new_size, 0);
 
                key->offset = end_byte;
-               btrfs_set_item_key_safe(fs_info, path, key);
+               btrfs_set_item_key_safe(trans, path, key);
        } else {
                BUG();
        }
@@ -994,7 +995,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
 
                        key.offset = end_byte - 1;
                } else {
-                       truncate_one_csum(fs_info, path, &key, bytenr, len);
+                       truncate_one_csum(trans, path, &key, bytenr, len);
                        if (key.offset < bytenr)
                                break;
                }
@@ -1202,7 +1203,7 @@ extend_csum:
                diff /= csum_size;
                diff *= csum_size;
 
-               btrfs_extend_item(path, diff);
+               btrfs_extend_item(trans, path, diff);
                ret = 0;
                goto csum;
        }
@@ -1249,7 +1250,7 @@ found:
        ins_size /= csum_size;
        total_bytes += ins_size * fs_info->sectorsize;
 
-       btrfs_mark_buffer_dirty(path->nodes[0]);
+       btrfs_mark_buffer_dirty(trans, path->nodes[0]);
        if (total_bytes < sums->len) {
                btrfs_release_path(path);
                cond_resched();