43 __uint64_t *blocks_trimmed)
103 trace_xfs_discard_toosmall(mp, agno, fbno, flen);
112 if (dbno + dlen < start || dbno > end) {
113 trace_xfs_discard_exclude(mp, agno, fbno, flen);
122 trace_xfs_discard_busy(mp, agno, fbno, flen);
126 trace_xfs_discard_extent(mp, agno, fbno, flen);
130 *blocks_trimmed += flen;
157 struct xfs_mount *
mp,
160 struct request_queue *
q = mp->m_ddev_targp->bt_bdev->bd_disk->queue;
161 unsigned int granularity = q->limits.discard_granularity;
165 __uint64_t blocks_trimmed = 0;
166 int error, last_error = 0;
170 if (!blk_queue_discard(q))
196 for (agno = start_agno; agno <= end_agno; agno++) {
214 struct xfs_mount *
mp,
221 trace_xfs_discard_extent(mp, busyp->
agno, busyp->
bno,
230 "discard failed for extent [0x%llu,%u], error %d",
231 (
unsigned long long)busyp->
bno,