Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/geom_disk.h
Show First 20 Lines • Show All 97 Lines • ▼ Show 20 Lines | struct disk { | ||||
disk_close_t *d_close; | disk_close_t *d_close; | ||||
disk_strategy_t *d_strategy; | disk_strategy_t *d_strategy; | ||||
disk_ioctl_t *d_ioctl; | disk_ioctl_t *d_ioctl; | ||||
dumper_t *d_dump; | dumper_t *d_dump; | ||||
disk_getattr_t *d_getattr; | disk_getattr_t *d_getattr; | ||||
disk_gone_t *d_gone; | disk_gone_t *d_gone; | ||||
/* Info fields from driver to geom_disk.c. Valid when open */ | /* Info fields from driver to geom_disk.c. Valid when open */ | ||||
long d_mediaword; | |||||
imp: This changes struct disk without changing the version.
| |||||
u_int d_sectorsize; | u_int d_sectorsize; | ||||
off_t d_mediasize; | off_t d_mediasize; | ||||
u_int d_fwsectors; | u_int d_fwsectors; | ||||
u_int d_fwheads; | u_int d_fwheads; | ||||
u_int d_maxsize; | u_int d_maxsize; | ||||
off_t d_delmaxsize; | off_t d_delmaxsize; | ||||
u_int d_stripeoffset; | u_int d_stripeoffset; | ||||
u_int d_stripesize; | u_int d_stripesize; | ||||
char d_ident[DISK_IDENT_SIZE]; | char d_ident[DISK_IDENT_SIZE]; | ||||
char d_descr[DISK_IDENT_SIZE]; | char d_descr[DISK_IDENT_SIZE]; | ||||
uint16_t d_hba_vendor; | uint16_t d_hba_vendor; | ||||
uint16_t d_hba_device; | uint16_t d_hba_device; | ||||
uint16_t d_hba_subvendor; | uint16_t d_hba_subvendor; | ||||
uint16_t d_hba_subdevice; | uint16_t d_hba_subdevice; | ||||
uint16_t d_rotation_rate; | uint16_t d_rotation_rate; | ||||
/* Fields private to the driver */ | /* Fields private to the driver */ | ||||
void *d_drv1; | void *d_drv1; | ||||
/* Fields private to geom_disk, to be moved on next version bump */ | /* Fields private to geom_disk, to be moved on next version bump */ | ||||
LIST_HEAD(,disk_alias) d_aliases; | LIST_HEAD(,disk_alias) d_aliases; | ||||
}; | }; | ||||
Not Done Inline ActionsIf you want to MFC this, you should add d_mediaword here for the MFC. While we have an API to encode the sizeof(struct disk), every driver encodes the offsets into it, making it part of the ABI. imp: If you want to MFC this, you should add d_mediaword here for the MFC. While we have an API to… | |||||
#define DISKFLAG_RESERVED 0x0001 /* Was NEEDSGIANT */ | #define DISKFLAG_RESERVED 0x0001 /* Was NEEDSGIANT */ | ||||
#define DISKFLAG_OPEN 0x0002 | #define DISKFLAG_OPEN 0x0002 | ||||
#define DISKFLAG_CANDELETE 0x0004 | #define DISKFLAG_CANDELETE 0x0004 | ||||
#define DISKFLAG_CANFLUSHCACHE 0x0008 | #define DISKFLAG_CANFLUSHCACHE 0x0008 | ||||
#define DISKFLAG_UNMAPPED_BIO 0x0010 | #define DISKFLAG_UNMAPPED_BIO 0x0010 | ||||
#define DISKFLAG_DIRECT_COMPLETION 0x0020 | #define DISKFLAG_DIRECT_COMPLETION 0x0020 | ||||
#define DISKFLAG_CANZONE 0x0080 | #define DISKFLAG_CANZONE 0x0080 | ||||
Show All 10 Lines | |||||
void disk_add_alias(struct disk *disk, const char *); | void disk_add_alias(struct disk *disk, const char *); | ||||
#define DISK_VERSION_00 0x58561059 | #define DISK_VERSION_00 0x58561059 | ||||
#define DISK_VERSION_01 0x5856105a | #define DISK_VERSION_01 0x5856105a | ||||
#define DISK_VERSION_02 0x5856105b | #define DISK_VERSION_02 0x5856105b | ||||
#define DISK_VERSION_03 0x5856105c | #define DISK_VERSION_03 0x5856105c | ||||
#define DISK_VERSION_04 0x5856105d | #define DISK_VERSION_04 0x5856105d | ||||
#define DISK_VERSION_05 0x5856105e | #define DISK_VERSION_05 0x5856105e | ||||
#define DISK_VERSION DISK_VERSION_05 | #define DISK_VERSION_06 0x5856105f | ||||
#define DISK_VERSION DISK_VERSION_06 | |||||
Done Inline ActionsYou need to bump this. imp: You need to bump this.
| |||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* _GEOM_GEOM_DISK_H_ */ | #endif /* _GEOM_GEOM_DISK_H_ */ |
This changes struct disk without changing the version.