diff options
author | Stefan Weinhuber <wein@de.ibm.com> | 2010-10-29 10:50:43 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-29 10:50:50 -0400 |
commit | 196339f1733726ffd69ab81ec1c66678585f5846 (patch) | |
tree | 2974211770a2d0ead128f80fef972748673e7e3c /arch/s390/include/asm | |
parent | b25c477b3456ce87a5938d2ea511bf13187d0f0d (diff) |
[S390] dasd: provide a Sense Path Group ID ioctl
The BIODASDSNID ioctl executes a 'Sense Path Group ID'
command on a DASD ECKD device. The returned path group data
allows user space programs to determine path state and
path group ID of the channel paths to the device.
Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/dasd.h | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/arch/s390/include/asm/dasd.h b/arch/s390/include/asm/dasd.h index 218bce81ec70..b604a9186f8e 100644 --- a/arch/s390/include/asm/dasd.h +++ b/arch/s390/include/asm/dasd.h | |||
@@ -217,6 +217,25 @@ typedef struct dasd_symmio_parms { | |||
217 | int rssd_result_len; | 217 | int rssd_result_len; |
218 | } __attribute__ ((packed)) dasd_symmio_parms_t; | 218 | } __attribute__ ((packed)) dasd_symmio_parms_t; |
219 | 219 | ||
220 | /* | ||
221 | * Data returned by Sense Path Group ID (SNID) | ||
222 | */ | ||
223 | struct dasd_snid_data { | ||
224 | struct { | ||
225 | __u8 group:2; | ||
226 | __u8 reserve:2; | ||
227 | __u8 mode:1; | ||
228 | __u8 res:3; | ||
229 | } __attribute__ ((packed)) path_state; | ||
230 | __u8 pgid[11]; | ||
231 | } __attribute__ ((packed)); | ||
232 | |||
233 | struct dasd_snid_ioctl_data { | ||
234 | struct dasd_snid_data data; | ||
235 | __u8 path_mask; | ||
236 | } __attribute__ ((packed)); | ||
237 | |||
238 | |||
220 | /******************************************************************************** | 239 | /******************************************************************************** |
221 | * SECTION: Definition of IOCTLs | 240 | * SECTION: Definition of IOCTLs |
222 | * | 241 | * |
@@ -261,25 +280,10 @@ typedef struct dasd_symmio_parms { | |||
261 | /* Set Attributes (cache operations) */ | 280 | /* Set Attributes (cache operations) */ |
262 | #define BIODASDSATTR _IOW(DASD_IOCTL_LETTER,2,attrib_data_t) | 281 | #define BIODASDSATTR _IOW(DASD_IOCTL_LETTER,2,attrib_data_t) |
263 | 282 | ||
283 | /* Get Sense Path Group ID (SNID) data */ | ||
284 | #define BIODASDSNID _IOWR(DASD_IOCTL_LETTER, 1, struct dasd_snid_ioctl_data) | ||
285 | |||
264 | #define BIODASDSYMMIO _IOWR(DASD_IOCTL_LETTER, 240, dasd_symmio_parms_t) | 286 | #define BIODASDSYMMIO _IOWR(DASD_IOCTL_LETTER, 240, dasd_symmio_parms_t) |
265 | 287 | ||
266 | #endif /* DASD_H */ | 288 | #endif /* DASD_H */ |
267 | 289 | ||
268 | /* | ||
269 | * Overrides for Emacs so that we follow Linus's tabbing style. | ||
270 | * Emacs will notice this stuff at the end of the file and automatically | ||
271 | * adjust the settings for this buffer only. This must remain at the end | ||
272 | * of the file. | ||
273 | * --------------------------------------------------------------------------- | ||
274 | * Local variables: | ||
275 | * c-indent-level: 4 | ||
276 | * c-brace-imaginary-offset: 0 | ||
277 | * c-brace-offset: -4 | ||
278 | * c-argdecl-indent: 4 | ||
279 | * c-label-offset: -4 | ||
280 | * c-continued-statement-offset: 4 | ||
281 | * c-continued-brace-offset: 0 | ||
282 | * indent-tabs-mode: nil | ||
283 | * tab-width: 8 | ||
284 | * End: | ||
285 | */ | ||