Aneesh Kumar K.V wrote: > On Fri, Jan 11, 2008 at 02:42:00PM -0600, Eric Sandeen wrote: > >> The BUG_ON is: >> >> BUG_ON(*logical < le32_to_cpu(ex->ee_block) + le16_to_cpu(ex->ee_len)); >> >> where these were the values: >> >> logical 8 ee_block 0 ee_len 32776 >> >> Haven't looked further into it yet. >> > > Not able to reproduce. Why is it calling ext4_ext_search_left for that > value of logical ? ext4_ext_get_blocks should have found that the > logical belong to an already existing extent and return from there. It > should have returned from > > 2365 if (create == EXT4_CREATE_UNINITIALIZED_EXT) > 2366 goto out; > > > root@qemu-image:/ext4# /root/testfallocate -f a 0 100 > root@qemu-image:/ext4# /root/truncate ./a 50 > root@qemu-image:/ext4# /root/testfallocate -f a 0 100 This isn't exercising extents code at all, all your sizes are all within the first block. Try the numbers I have in the bug? Or more simply, [root@bear-05 sdb8]# ./testfallocate -f testfile 0 32768 [root@bear-05 sdb8]# ./testfallocate -f testfile 16384 65536 or [root@bear-05 sdb8]# ./testfallocate -f testfile 0 16384 [root@bear-05 sdb8]# ./testfallocate -f testfile 32768 65536 -Eric - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html