Lines Matching full:discard
38 * extremely slow discard implementations (e.g. ceph RBD) and so walking a
52 * state of the free extent is out of our control and we cannot run a discard
54 * extent as busy and undergoing a discard operation whilst we held the AGF
57 * This is exactly how online discard works - free extents are marked busy when
59 * the busy extent record is marked as "undergoing discard" and the discard is
60 * then issued on the free extent. Once the discard completes, the busy extent
63 * In the context of fstrim, if we find a free extent we need to discard, we
64 * don't have to discard it immediately. All we need to do it record that free
65 * extent as being busy and under discard, and all the allocation routines will
67 * the AGF lock, we can safely discard it without holding the AGF lock because
68 * nothing will attempt to allocate that free space until the discard completes.
71 * discard, and so for fast devices fstrim will run much faster as we can have
72 * multiple discard operations in flight at once, as well as pipeline the free
73 * extent search so that it overlaps in flight discard IO.
125 * Walk the discard list and issue discards on all the busy extents in the
150 "discard failed for extent [0x%llx,%u], error %d", in xfs_discard_extents()
208 /* sub-AG discard request always starts at tcur->start */ in xfs_trim_gather_extents()
294 * discard and try again the next time. in xfs_trim_gather_extents()
322 * we aren't going to issue a discard on them any more. in xfs_trim_gather_extents()
341 * for the repeated iteration of gather/discard loop, so use the longest extent
381 * We hand the extent list to the discard function here so the in xfs_trim_perag_extents()
384 * the next round of extents to discard. in xfs_trim_perag_extents()
477 * Walk the discard list and issue discards on all the busy extents in the
516 "discard failed for rtextent [0x%llx,%llu], error %d", in xfs_discard_rtdev_extents()
635 /* number of extents to examine before stopping to issue discard ios */
638 /* number of extents queued for discard */
673 * If any blocks in the range are still busy, skip the discard and try in xfs_trim_gather_rtgroup_extent()
739 * We hand the extent list to the discard function here so the in xfs_trim_rtgroup_extents()
742 * gathering the next round of extents to discard. in xfs_trim_rtgroup_extents()