On 10/03/2012 10:02 PM, Chris Mason wrote: > On Tue, Sep 25, 2012 at 07:07:53PM -0600, Liu Bo wrote: >> On 09/26/2012 01:39 AM, Mitch Harder wrote: >>> On Mon, Sep 17, 2012 at 4:58 AM, Liu Bo <bo.li.liu@xxxxxxxxxx> wrote: >>>> This comes from one of btrfs's project ideas, >>>> As we defragment files, we break any sharing from other snapshots. >>>> The balancing code will preserve the sharing, and defrag needs to grow this >>>> as well. >>>> >>>> Now we're able to fill the blank with this patch, in which we make full use of >>>> backref walking stuff. >>>> >>>> Here is the basic idea, >>>> o set the writeback ranges started by defragment with flag EXTENT_DEFRAG >>>> o at endio, after we finish updating fs tree, we use backref walking to find >>>> all parents of the ranges and re-link them with the new COWed file layout by >>>> adding corresponding backrefs. >>>> >>>> Originally patch by Li Zefan <lizf@xxxxxxxxxxxxxx> >>>> Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> >>> >>> I'm hitting the WARN_ON in record_extent_backrefs() indicating a >>> problem with the return value from iterate_inodes_from_logical(). > > Me too. It triggers reliably with mount -o autodefrag, and then crashes > a in the next function ;) > > -chris > Hi Chris, Mitch, I'm afraid that I may need a little more time to fix all bugs in it because there seems to be some backref walking bugs mixed in, and at least 4 different crashes make it harder to address bugs. I use an 1G random write fio job running in background, following by creating 20 snapshots in background, and mount -o autodefrag. So if your crash is quite stable in one place, please let me know the steps. thanks, liubo -- 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
