On 11/16/17 18:07, Marc MERLIN wrote:
> Sorry, was missing the kernel number in the subject, just fixed that.
>
> On Thu, Nov 16, 2017 at 09:04:45AM -0800, Marc MERLIN wrote:
>> My server now reboots every 20mn or so, with this.
>> Sadly another BUG_ON() and it won't even tell me which filesystem
>> it's on
>>
>> static inline u32 btrfs_extent_inline_ref_size(int type)
>> {
>> if (type == BTRFS_TREE_BLOCK_REF_KEY ||
>> type == BTRFS_SHARED_BLOCK_REF_KEY)
>> return sizeof(struct btrfs_extent_inline_ref);
>> if (type == BTRFS_SHARED_DATA_REF_KEY)
>> return sizeof(struct btrfs_shared_data_ref) +
>> sizeof(struct btrfs_extent_inline_ref);
>> if (type == BTRFS_EXTENT_DATA_REF_KEY)
>> return sizeof(struct btrfs_extent_data_ref) +
>> offsetof(struct btrfs_extent_inline_ref, offset);
>> BUG();
>> return 0;
>> }
This BUG() was recently removed and seems to be caused by some kind
of persistent corruption, which is seen as invalid inline extent.
See [1], [2] for details. Maybe you can backport them?
Alternatively just give 4.14 a whirl, it's great.
-h
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=167ce953ca55bdee20fe56c3c0fa51002435f745
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4335958de2a43c6790c7f6aa0682aa7189983fa4
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html