bcachefs: Put inline data behind a mount option for now
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 29 Nov 2019 18:48:09 +0000 (13:48 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:32 +0000 (17:08 -0400)
Inline data extents + reflink is still broken

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/io.c
fs/bcachefs/opts.h

index 6934a0339eb0b735220c9f4fcd29480cd056f908..e98ab738cd10a38965106a19916cdd778c6b34d1 100644 (file)
@@ -1224,7 +1224,8 @@ void bch2_write(struct closure *cl)
        data_len = min_t(u64, bio->bi_iter.bi_size,
                         op->new_i_size - (op->pos.offset << 9));
 
-       if (data_len <= min(block_bytes(c) / 2, 1024U)) {
+       if (c->opts.inline_data &&
+           data_len <= min(block_bytes(c) / 2, 1024U)) {
                bch2_write_data_inline(op, data_len);
                return;
        }
index 2bd8bce432695d768efded6d75d22433ba35f5e0..92a9b7e0f47fcbbd819a10454ac22cc18a8f8507 100644 (file)
@@ -181,6 +181,11 @@ enum opt_type {
          OPT_BOOL(),                                                   \
          BCH_SB_128_BIT_MACS,          false,                          \
          NULL,         "Store full 128 bits of cryptographic MACs, instead of 80")\
+       x(inline_data,                  u8,                             \
+         OPT_MOUNT|OPT_RUNTIME,                                        \
+         OPT_BOOL(),                                                   \
+         NO_SB_OPT,                    false,                          \
+         NULL,         "Enable inline data extents")                   \
        x(acl,                          u8,                             \
          OPT_FORMAT|OPT_MOUNT,                                         \
          OPT_BOOL(),                                                   \