1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
freebsd/sys/geom
Kenneth D. Merry ce625ec719 Change the way that unmapped I/O capability is advertised.
The previous method was to set the D_UNMAPPED_IO flag in the cdevsw
for the driver.  The problem with this is that in many cases (e.g.
sa(4)) there may be some instances of the driver that can handle
unmapped I/O and some that can't.  The isp(4) driver can handle
unmapped I/O, but the esp(4) driver currently cannot.  The cdevsw
is shared among all driver instances.

So instead of setting a flag on the cdevsw, set a flag on the cdev.
This allows drivers to indicate support for unmapped I/O on a
per-instance basis.

sys/conf.h:	Remove the D_UNMAPPED_IO cdevsw flag and replace it
		with an SI_UNMAPPED cdev flag.

kern_physio.c:	Look at the cdev SI_UNMAPPED flag to determine
		whether or not a particular driver can handle
		unmapped I/O.

geom_dev.c:	Set the SI_UNMAPPED flag for all GEOM cdevs.
		Since GEOM will create a temporary mapping when
		needed, setting SI_UNMAPPED unconditionally will
		work.

		Remove the D_UNMAPPED_IO flag.

nvme_ns.c:	Set the SI_UNMAPPED flag on cdevs created here
		if NVME_UNMAPPED_BIO_SUPPORT is enabled.

vfs_aio.c:	In aio_qphysio(), check the SI_UNMAPPED flag on a
		cdev instead of the D_UNMAPPED_IO flag on the cdevsw.

sys/param.h:	Bump __FreeBSD_version to 1000045 for the switch from
		setting the D_UNMAPPED_IO flag in the cdevsw to setting
		SI_UNMAPPED in the cdev.

Reviewed by:	kib, jimharris
MFC after:	1 week
Sponsored by:	Spectra Logic
2013-08-15 22:52:39 +00:00
..
bde
cache
concat
eli
gate Remove extra bio_data and bio_length copying to child request after calling 2013-03-26 05:42:12 +00:00
journal When panicing due to the gjournal overflow, print the geom metadata 2013-07-10 10:11:43 +00:00
label - Use int8_t type for the mftrecsz field in g_label_ntfs. char type 2013-05-05 08:00:16 +00:00
linux_lvm
mirror Fix the formatting of the error message. 2013-08-12 18:17:45 +00:00
mountver
multipath Make GEOM MULTIPATH to report unmapped bio support if underling path report 2013-03-25 07:24:58 +00:00
nop move the error report to a lower log level... Now you can see when it 2013-04-13 19:02:58 +00:00
part gpt_entries is used as limit for the number of partition entries in 2013-08-08 16:09:20 +00:00
raid Return error when opening read-only volumes (like RAID4/5/...) for writing. 2013-08-13 07:56:40 +00:00
raid3
sched
shsec
stripe
uncompress
uzip
vinum
virstor
zero
geom_aes.c
geom_bsd_enc.c
geom_bsd.c
geom_ccd.c
geom_ctl.c
geom_ctl.h
geom_dev.c Change the way that unmapped I/O capability is advertised. 2013-08-15 22:52:39 +00:00
geom_disk.c Bump disk(9) ABI version to signify the addition of d_delmaxsize by r249940. 2013-07-03 23:46:30 +00:00
geom_disk.h Bump disk(9) ABI version to signify the addition of d_delmaxsize by r249940. 2013-07-03 23:46:30 +00:00
geom_dump.c Remove an extra semicolon from the DOT language output. 2013-05-21 18:40:54 +00:00
geom_event.c Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_flashmap.c MFP4 @222836 2013-05-30 01:19:02 +00:00
geom_fox.c
geom_int.h Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_io.c - Add a general purpose resource allocator, vmem, from NetBSD. It was 2013-06-28 03:51:20 +00:00
geom_kern.c
geom_map.c
geom_mbr_enc.c
geom_mbr.c
geom_pc98_enc.c
geom_pc98.c Change <sys/diskpc98.h> to not redefine the same symbols that are 2013-08-07 00:00:48 +00:00
geom_redboot.c
geom_slice.c geom_slice.c and its consumers like GEOM_LABEL are not touching the data 2013-03-26 07:55:24 +00:00
geom_slice.h
geom_subr.c Make g_wither_washer() to not loop by itself, but only when there was some 2013-03-24 03:15:20 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c
geom_vfs.c
geom_vfs.h
geom_vol_ffs.c
geom.h
notes