diff --git a/.bcachefs_revision b/.bcachefs_revision index f836d05b..d0a5221b 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -6bb1ba5c94c225a95cb59cb9670b558bcb1b4f81 +635ca475f4f40ddcb2976f8f20a89df4c574aa22 diff --git a/libbcachefs/btree_io.c b/libbcachefs/btree_io.c index f11fcab6..c19c3acb 100644 --- a/libbcachefs/btree_io.c +++ b/libbcachefs/btree_io.c @@ -566,7 +566,8 @@ enum btree_validate_ret { \ switch (write) { \ case READ: \ - bch_err(c, "%s", _buf2); \ + if (_buf2) \ + bch_err(c, "%s", _buf2); \ \ switch (type) { \ case BTREE_ERR_FIXABLE: \ diff --git a/libbcachefs/debug.c b/libbcachefs/debug.c index 294e4baf..666635f7 100644 --- a/libbcachefs/debug.c +++ b/libbcachefs/debug.c @@ -406,6 +406,8 @@ static ssize_t bch2_read_bfloat_failed(struct file *file, char __user *buf, if (!i->size) break; } + bch2_trans_iter_exit(&trans, &iter); + bch2_trans_exit(&trans); return err < 0 ? err : i->ret; diff --git a/libbcachefs/dirent.c b/libbcachefs/dirent.c index a165d08c..6f699b73 100644 --- a/libbcachefs/dirent.c +++ b/libbcachefs/dirent.c @@ -230,7 +230,7 @@ int bch2_dirent_rename(struct btree_trans *trans, { struct btree_iter src_iter = { NULL }; struct btree_iter dst_iter = { NULL }; - struct bkey_s_c old_src, old_dst; + struct bkey_s_c old_src, old_dst = bkey_s_c_null; struct bkey_i_dirent *new_src = NULL, *new_dst = NULL; struct bpos dst_pos = POS(dst_dir.inum, bch2_dirent_hash(dst_hash, dst_name)); diff --git a/libbcachefs/inode.c b/libbcachefs/inode.c index ffce68a8..99b2a77e 100644 --- a/libbcachefs/inode.c +++ b/libbcachefs/inode.c @@ -24,16 +24,6 @@ const char * const bch2_inode_opts[] = { }; static const u8 byte_table[8] = { 1, 2, 3, 4, 6, 8, 10, 13 }; -static const u8 bits_table[8] = { - 1 * 8 - 1, - 2 * 8 - 2, - 3 * 8 - 3, - 4 * 8 - 4, - 6 * 8 - 5, - 8 * 8 - 6, - 10 * 8 - 7, - 13 * 8 - 8, -}; static int inode_decode_field(const u8 *in, const u8 *end, u64 out[2], unsigned *out_bits)