Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/nvme/nvme_ns.c
Show First 20 Lines • Show All 467 Lines • ▼ Show 20 Lines | case BIO_WRITE: | ||||
err = nvme_ns_cmd_write_bio(ns, bp, nvme_ns_bio_done, bp); | err = nvme_ns_cmd_write_bio(ns, bp, nvme_ns_bio_done, bp); | ||||
break; | break; | ||||
case BIO_FLUSH: | case BIO_FLUSH: | ||||
err = nvme_ns_cmd_flush(ns, nvme_ns_bio_done, bp); | err = nvme_ns_cmd_flush(ns, nvme_ns_bio_done, bp); | ||||
break; | break; | ||||
case BIO_DELETE: | case BIO_DELETE: | ||||
dsm_range = | dsm_range = | ||||
malloc(sizeof(struct nvme_dsm_range), M_NVME, | malloc(sizeof(struct nvme_dsm_range), M_NVME, | ||||
M_ZERO | M_WAITOK); | M_ZERO | M_NOWAIT); | ||||
if (!dsm_range) { | if (!dsm_range) { | ||||
err = ENOMEM; | err = ENOMEM; | ||||
break; | break; | ||||
} | } | ||||
dsm_range->length = | dsm_range->length = | ||||
htole32(bp->bio_bcount/nvme_ns_get_sector_size(ns)); | htole32(bp->bio_bcount/nvme_ns_get_sector_size(ns)); | ||||
dsm_range->starting_lba = | dsm_range->starting_lba = | ||||
htole64(bp->bio_offset/nvme_ns_get_sector_size(ns)); | htole64(bp->bio_offset/nvme_ns_get_sector_size(ns)); | ||||
▲ Show 20 Lines • Show All 143 Lines • Show Last 20 Lines |