Am 19.10.2011 11:49, schrieb David Sterba:
On Tue, Oct 18, 2011 at 10:04:01PM +0200, Martin Mailand wrote:
[28997.273289] ------------[ cut here ]------------
[28997.282916] kernel BUG at fs/btrfs/inode.c:1163!
1119 fi = btrfs_item_ptr(leaf, path->slots[0],
1120 struct btrfs_file_extent_item);
1121 extent_type = btrfs_file_extent_type(leaf, fi);
1122
1123 if (extent_type == BTRFS_FILE_EXTENT_REG ||
1124 extent_type == BTRFS_FILE_EXTENT_PREALLOC) {
...
1158 } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) {
1159 extent_end = found_key.offset +
1160 btrfs_file_extent_inline_len(leaf, fi);
1161 extent_end = ALIGN(extent_end, root->sectorsize);
1162 } else {
1163 BUG_ON(1);
1164 }
rc10 kernel sources point to this, can you please verify it in your
sources? if it's really this one, that means that it's an unhandled
extent_type read from the b-tree leaf and could be a corruption. (the
value is directly obtained from file extent type item, line 1121)
yep, that's the same in my source
It would be interesting what's the value of 'extent_type' at the time of
crash, if it's eg -1 that could point to a real bug, some unhandled
corner case in truncate, for example.
How can I do that?
[28997.507960] Call Trace:
[28997.507960] [<ffffffffa00903e0>] ? acls_after_inode_item+0xc0/0xc0 [btrfs]
... a corruption caused by overflow of xattrs/acls into inode item bytes?
As ceph stresses xattrs very well, I wouldn't be surprised by that.
david
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html