mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
da: Update trim stats for WRITE SAME and ATA TRIM
The scsi UNMAP path updated trim stats in the da sysctl, but the ATA TRIM passthru and WRITE SAME paths did not. Add code so they do. PR: 277637 Reviewed by: imp (tweaked WS path to update ranges)
This commit is contained in:
parent
0c0146c309
commit
12117d0e93
|
@ -4208,6 +4208,9 @@ da_delete_trim(struct cam_periph *periph, union ccb *ccb, struct bio *bp)
|
||||||
da_default_timeout * 1000);
|
da_default_timeout * 1000);
|
||||||
ccb->ccb_h.ccb_state = DA_CCB_DELETE;
|
ccb->ccb_h.ccb_state = DA_CCB_DELETE;
|
||||||
ccb->ccb_h.flags |= CAM_UNLOCKED;
|
ccb->ccb_h.flags |= CAM_UNLOCKED;
|
||||||
|
softc->trim_count++;
|
||||||
|
softc->trim_ranges += ranges;
|
||||||
|
softc->trim_lbas += block_count;
|
||||||
cam_iosched_submit_trim(softc->cam_iosched);
|
cam_iosched_submit_trim(softc->cam_iosched);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4268,6 +4271,9 @@ da_delete_ws(struct cam_periph *periph, union ccb *ccb, struct bio *bp)
|
||||||
da_default_timeout * 1000);
|
da_default_timeout * 1000);
|
||||||
ccb->ccb_h.ccb_state = DA_CCB_DELETE;
|
ccb->ccb_h.ccb_state = DA_CCB_DELETE;
|
||||||
ccb->ccb_h.flags |= CAM_UNLOCKED;
|
ccb->ccb_h.flags |= CAM_UNLOCKED;
|
||||||
|
softc->trim_count++;
|
||||||
|
softc->trim_ranges++;
|
||||||
|
softc->trim_lbas += count;
|
||||||
cam_iosched_submit_trim(softc->cam_iosched);
|
cam_iosched_submit_trim(softc->cam_iosched);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue