summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_disk.h
diff options
context:
space:
mode:
authorsmh <smh@FreeBSD.org>2014-09-07 21:30:47 +0000
committersmh <smh@FreeBSD.org>2014-09-07 21:30:47 +0000
commita7cb473513d1db7492658dd436833db2cbb9707c (patch)
treee2777dfe3f459602c4f16cff1658391d775a8252 /sys/geom/geom_disk.h
parent73701b02923b72b81fa364c935209a6afca9c0f3 (diff)
downloadFreeBSD-src-a7cb473513d1db7492658dd436833db2cbb9707c.zip
FreeBSD-src-a7cb473513d1db7492658dd436833db2cbb9707c.tar.gz
MFC r256956:
Improve ZFS N-way mirror read performance by using load and locality information. MFC r260713: Fix ZFS mirror code for handling multiple DVA's Also make the addition of the d_rotation_rate binary compatible. This allows storage drivers compiled for 10.0 to work by preserving the ABI for disks. Approved by: re (gjb) Sponsored by: Multiplay
Diffstat (limited to 'sys/geom/geom_disk.h')
-rw-r--r--sys/geom/geom_disk.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/geom/geom_disk.h b/sys/geom/geom_disk.h
index b092146..09194c0 100644
--- a/sys/geom/geom_disk.h
+++ b/sys/geom/geom_disk.h
@@ -100,6 +100,9 @@ struct disk {
/* Fields private to the driver */
void *d_drv1;
+
+ /* New field - don't use if DISKFLAG_LACKS_ROTRATE is set */
+ uint16_t d_rotation_rate;
};
#define DISKFLAG_NEEDSGIANT 0x1
@@ -108,6 +111,7 @@ struct disk {
#define DISKFLAG_CANFLUSHCACHE 0x8
#define DISKFLAG_UNMAPPED_BIO 0x10
#define DISKFLAG_DIRECT_COMPLETION 0x20
+#define DISKFLAG_LACKS_ROTRATE 0x40
struct disk *disk_alloc(void);
void disk_create(struct disk *disk, int version);
@@ -122,7 +126,8 @@ int disk_resize(struct disk *dp, int flag);
#define DISK_VERSION_01 0x5856105a
#define DISK_VERSION_02 0x5856105b
#define DISK_VERSION_03 0x5856105c
-#define DISK_VERSION DISK_VERSION_03
+#define DISK_VERSION_04 0x5856105d
+#define DISK_VERSION DISK_VERSION_04
#endif /* _KERNEL */
#endif /* _GEOM_GEOM_DISK_H_ */
OpenPOWER on IntegriCloud