This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated 55a7bc5 xfs: do not discard alloc btree blocks e84661a xfs: add online discard support from bf59170a66bc3eaf3ee513aa6ce9774aa2ab5188 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 55a7bc5a30ff2d30d8a34fea2af9fc601b32e61a Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed May 4 18:55:15 2011 +0000 xfs: do not discard alloc btree blocks Blocks for the allocation btree are allocated from and released to the AGFL, and thus frequently reused. Even worse we do not have an easy way to avoid using an AGFL block when it is discarded due to the simple FILO list of free blocks, and thus can frequently stall on blocks that are currently undergoing a discard. Add a flag to the busy extent tracking structure to skip the discard for allocation btree blocks. In normal operation these blocks are reused frequently enough that there is no need to discard them anyway, but if they spill over to the allocation btree as part of a balance we "leak" blocks that we would otherwise discard. We could fix this by adding another flag and keeping these block in the rbtree even after they aren't busy any more so that we could discard them when they migrate out of the AGFL. Given that this would cause significant overhead I don't think it's worthwile for now. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Alex Elder <aelder@xxxxxxx> commit e84661aa84e2e003738563f65155d4f12dc474e7 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Fri May 20 13:45:32 2011 +0000 xfs: add online discard support Now that we have reliably tracking of deleted extents in a transaction we can easily implement "online" discard support which calls blkdev_issue_discard once a transaction commits. The actual discard is a two stage operation as we first have to mark the busy extent as not available for reuse before we can start the actual discard. Note that we don't bother supporting discard for the non-delaylog mode. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Alex Elder <aelder@xxxxxxx> ----------------------------------------------------------------------- Summary of changes: fs/xfs/linux-2.6/xfs_discard.c | 29 +++++++++++++++++++++++++++++ fs/xfs/linux-2.6/xfs_discard.h | 2 ++ fs/xfs/linux-2.6/xfs_super.c | 18 ++++++++++++++++-- fs/xfs/xfs_ag.h | 3 +++ fs/xfs/xfs_alloc.c | 35 ++++++++++++++++++++++++++++++----- fs/xfs/xfs_alloc.h | 5 +++-- fs/xfs/xfs_alloc_btree.c | 3 ++- fs/xfs/xfs_log_cil.c | 13 ++++++++++++- fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_trans.c | 2 +- 10 files changed, 99 insertions(+), 12 deletions(-) hooks/post-receive -- XFS development tree _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs