btrfs: simplify the btrfs_csum_one_bio calling convention
[sfrench/cifs-2.6.git] / fs / btrfs / compression.c
index 9c2d3f5b4028acad60dd249764223ccf6d18ec08..7999c28aa5e129eec3103aeaa192a4cf7b587acd 100644 (file)
@@ -357,7 +357,8 @@ blk_status_t btrfs_submit_compressed_write(struct btrfs_inode *inode, u64 start,
        blk_status_t ret = BLK_STS_OK;
        int skip_sum = inode->flags & BTRFS_INODE_NODATASUM;
        const bool use_append = btrfs_use_zone_append(inode, disk_start);
-       const enum req_op bio_op = use_append ? REQ_OP_ZONE_APPEND : REQ_OP_WRITE;
+       const enum req_op bio_op = REQ_BTRFS_ONE_ORDERED |
+                                  (use_append ? REQ_OP_ZONE_APPEND : REQ_OP_WRITE);
 
        ASSERT(IS_ALIGNED(start, fs_info->sectorsize) &&
               IS_ALIGNED(len, fs_info->sectorsize));
@@ -395,6 +396,7 @@ blk_status_t btrfs_submit_compressed_write(struct btrfs_inode *inode, u64 start,
                                ret = errno_to_blk_status(PTR_ERR(bio));
                                break;
                        }
+                       btrfs_bio(bio)->file_offset = start;
                        if (blkcg_css)
                                bio->bi_opf |= REQ_CGROUP_PUNT;
                }
@@ -436,7 +438,7 @@ blk_status_t btrfs_submit_compressed_write(struct btrfs_inode *inode, u64 start,
 
                if (submit) {
                        if (!skip_sum) {
-                               ret = btrfs_csum_one_bio(inode, bio, start, true);
+                               ret = btrfs_csum_one_bio(btrfs_bio(bio));
                                if (ret) {
                                        btrfs_bio_end_io(btrfs_bio(bio), ret);
                                        break;