Re: [Patch v2 00/42] btrfs: add data write support for subpage
From: David Sterba <hidden>
Date: 2021-05-14 23:08:28
On Sat, May 15, 2021 at 06:45:42AM +0800, Qu Wenruo wrote:
quoted
[27273.028163] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6a9b: 0000 [#1] PREEMPT SMP [27273.030710] CPU: 0 PID: 20046 Comm: fsx Not tainted 5.13.0-rc1-default+ #1463 [27273.032295] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014 [27273.034731] RIP: 0010:btrfs_lookup_first_ordered_range+0x46/0x140 [btrfs]It's in the new function introduced, and considering how few parameteres are passed in, I guess it's really something wrong in the function, other than some conflicts with other patches. Any line number for it?
(gdb) l *(btrfs_lookup_first_ordered_range+0x46)
0x2366 is in btrfs_lookup_first_ordered_range (fs/btrfs/ordered-data.c:960).
955 * and screw up the search order.
956 * And __tree_search() can't return the adjacent ordered extents
957 * either, thus here we do our own search.
958 */
959 while (node) {
960 entry = rb_entry(node, struct btrfs_ordered_extent, rb_node);
961
962 if (file_offset < entry->file_offset) {
963 node = node->rb_left;
964 } else if (file_offset >= entry_end(entry)) {
Line 960 and it's the rb_node.