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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to