1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys/geom
Gleb Smirnoff d89862ac87 Make geom_mirror more friendly to SSDs. To properly support TRIM,
we need to pass BIO_DELETE requests down to providers that support
it. Also, we need to announce our support for BIO_DELETE to upper
consumer. This requires:

- In g_mirror_start() return true for "GEOM::candelete" request.
- In g_mirror_init_disk() probe below provider for "GEOM::candelete"
  attribute, and mark disk with a flag if it does support BIO_DELETE.
- In g_mirror_register_request() distribute BIO_DELETE requests only
  to those disks, that do support it.

Note that we announce "GEOM::candelete" as true unconditionally of
whether we have TRIM-capable media down below or not. This is made
intentionally, because upper consumer (usually UFS) requests the
attribite only once at mount time. And if user ever migrates his
mirror from HDDs to SSDs, then he/she would get TRIM working without
remounting filesystem.

Reviewed by:	pjd
2012-07-01 15:43:52 +00:00
..
bde
cache
concat
eli Add missing period at the end of the error message 2012-05-13 23:27:06 +00:00
gate
journal
label Revert r235918 for now and add comment explaining the reason for the 2012-05-25 10:08:48 +00:00
linux_lvm
mirror Make geom_mirror more friendly to SSDs. To properly support TRIM, 2012-07-01 15:43:52 +00:00
mountver
multipath Add missing newlines into XML output. 2012-06-05 16:46:34 +00:00
nop
part Always reconstruct partition entries in the PMBR when Boot Camp is 2012-06-14 11:17:54 +00:00
raid - Prevent error status leak if write to some of the RAID1/1E volume disks 2012-05-11 13:20:17 +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
geom_disk.c In g_disk_providergone(), don't continue if the softc is NULL. This may be 2012-06-27 16:05:09 +00:00
geom_disk.h Fix a bug which causes a panic in daopen(). The panic is caused by 2012-06-24 04:29:03 +00:00
geom_dump.c
geom_event.c
geom_flashmap.c - Correct signedness for casts; 2012-05-23 20:51:21 +00:00
geom_fox.c
geom_int.h
geom_io.c
geom_kern.c
geom_map.c Use %j to match intmax_t. 2012-07-01 05:22:13 +00:00
geom_mbr_enc.c
geom_mbr.c
geom_pc98_enc.c
geom_pc98.c
geom_redboot.c
geom_slice.c
geom_slice.h
geom_subr.c Fix a bug which causes a panic in daopen(). The panic is caused by 2012-06-24 04:29:03 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c
geom_vfs.c Expand locking around identification of filesystem mount point when 2012-04-08 06:20:21 +00:00
geom_vfs.h
geom_vol_ffs.c
geom.h Consume spare fields for the providergone pointers added to the g_class and 2012-06-25 04:26:10 +00:00
notes