Re: [PATCH] Btrfs: improve the loop of scrub_stripe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 18, 2013 at 10:54:55AM -0600, Liu Bo wrote:
> 1) Right now scrub_stripe() is looping in some unnecessary cases:
> * when the found extent item's objectid has been out of the dev extent's range
>   but we haven't finish scanning all the range within the dev extent
> * when all the items has been processed but we haven't finish scanning all the
>   range within the dev extent
> 
> In both cases, we can just finish the loop to save costs.
> 
> 2) Besides, when the found extent item's length is larger than the stripe len(64k),
> we don't have to release the path and search again as it'll get at the same key
> used in the last loop, we can instead increase the logical cursor in place till
> all space of the extent is scanned.
> 
> 3) And we use 0 as the key's offset to search btree, then get to previous item
> to find a smaller item, and again have to move to the next one to get the right
> item.  Setting offset=-1 and previous_item() is the correct way.
> 
> 4) As we won't find any checksum at offset unless this 'offset' is in a data
> extent, we can just find checksum when we're really going to scrub an extent.
> 
> Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx>

A big chunk of this doesn't apply to btrfs-next and I don't feel comfortable
manually applying it, please rebase and resend.  Thanks,

Josef
--
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




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux