]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/io_types.h
Merge remote-tracking branch 'holmanb/holmanb/keyutils-dep-check'
[bcachefs-tools-debian] / libbcachefs / io_types.h
index b23727d212b9d9353a0f9bc3531c9508d0c29351..78bff13d36f27cb46c6a28c5bcc9dd65cb0ecac6 100644 (file)
@@ -58,8 +58,19 @@ struct bch_read_bio {
        struct bch_devs_list    devs_have;
 
        struct extent_ptr_decoded pick;
-       /* start pos of data we read (may not be pos of data we want) */
-       struct bpos             pos;
+
+       /*
+        * pos we read from - different from data_pos for indirect extents:
+        */
+       u32                     subvol;
+       struct bpos             read_pos;
+
+       /*
+        * start pos of data we read (may not be pos of data we want) - for
+        * promote, narrow extents paths:
+        */
+       enum btree_id           data_btree;
+       struct bpos             data_pos;
        struct bversion         version;
 
        struct promote_op       *promote;
@@ -84,7 +95,8 @@ struct bch_write_bio {
                                bounce:1,
                                put_bio:1,
                                have_ioref:1,
-                               used_mempool:1;
+                               used_mempool:1,
+                               first_btree_write:1;
 
        struct bio              bio;
 };
@@ -111,6 +123,7 @@ struct bch_write_op {
        u16                     nonce;
        struct bch_io_opts      opts;
 
+       u32                     subvol;
        struct bpos             pos;
        struct bversion         version;