git: kernel - Fix TRIM bugs in UFS

Matthew Dillon dillon at
Sun Jan 1 17:55:43 PST 2017

commit 53005b098da18ed02da4c57627c0c2a29a957f37
Author: Matthew Dillon <dillon at>
Date:   Sun Jan 1 17:52:23 2017 -0800

    kernel - Fix TRIM bugs in UFS
    * Fix serious bug in devfs's implementation of VOP_FREEBLKS.  devfs was
      running this operation asynchronously, but callers (aka UFS) expect it
      to run synchronously.
    * Fix minor bug in CAM related to TRIM failures.
    * Enforce block count limitations in NVMe for WRITEZ.
    * Mostly applicable to NVMe, which will implement FREEBLKS using the WRITEZ
      command (at least for now).  Trim is disabled on SATA SSDs by default in
      the driver.
      Fixes UEFI booting issues with NVMe when using a UFS /boot.  Writing or
      updating the UFS /boot mounted via NVMe resulted in a corrupt partition due
      to the asynchronous VOP_FREEBLKS that we fixed above.
    Reported-by: mneumann.

Summary of changes:
 sys/bus/cam/scsi/scsi_da.c    | 1 +
 sys/dev/disk/nvme/nvme_disk.c | 4 ++++
 sys/vfs/devfs/devfs_vnops.c   | 8 ++++++--
 3 files changed, 11 insertions(+), 2 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list