aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm
diff options
context:
space:
mode:
authorStefan Weinhuber <wein@de.ibm.com>2010-10-29 10:50:43 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-10-29 10:50:50 -0400
commit196339f1733726ffd69ab81ec1c66678585f5846 (patch)
tree2974211770a2d0ead128f80fef972748673e7e3c /arch/s390/include/asm
parentb25c477b3456ce87a5938d2ea511bf13187d0f0d (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.h40
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 */
223struct 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
233struct 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 */