Okay, please accept an 'I'm stupid' retraction, as Bob N. across the wall got me. Running 'lsdasd' as root returns the full information about the device in a nicely parsable format. (Curious it doesn't as non-root, but there you go).
I'll only wish a salmon on the tools authors in the form of a nice sushi roll the next time I have a chance to meet one of you at a conference. -- Pat On 8/10/11 2:26 PM, Patrick Spinler wrote: > > Okay, so this just reached an annoyance point with me, so please forgive > me kvetching a bit. BTW -- this is specific to RHEL 5, s390utils 1.8, > so all you more modern folks or SuSE users can just laugh at me. > > The contents of /proc/dasd/devices is very complete, but a PITA to > parse. You can't parse it based on character position, it has varying > length fields, and you can't parse it based on a simple fixed field > separator, either: > > 0.0.0391(ECKD) at ( 94: 0) is dasda : active at blocksize: > 4096, 22500 blocks, 87 MB > 0.0.0392(ECKD) at ( 94: 4) is dasdb : active at blocksize: > 4096, 1802880 blocks, 7042 MB > 0.0.0393(ECKD) at ( 94: 8) is dasdc : active at blocksize: > 4096, 1802880 blocks, 7042 MB > 0.0.0394(ECKD) at ( 94: 12) is dasdd : active at blocksize: > 4096, 1802880 blocks, 7042 MB > 0.0.07ff(FBA ) at ( 94: 16) is dasde : active at blocksize: > 512, 2097152 blocks, 1024 MB > > Note that the blocksize. number of blocks, and size are all varying > length fields. Note all that neither space, nor parents, nor colon make > a good choice for a field separator. > > Now lsdasd produces output that would be easily parsable by either fixed > character position or by using space as a delimiter, that's great. > However, it doesn't include reliable size information, e.g. if I want to > make sure a source and dest device both have the same number of blocks > and blocksize: > > Bus-ID Status Name Device Type BlkSz Size Blocks > ============================================================================== > 0.0.0391 active dasda 94:0 ECKD ??? 87MB ??? > 0.0.0392 active dasdb 94:4 ECKD ??? 7042MB ??? > 0.0.0393 active dasdc 94:8 ECKD ??? 7042MB ??? > 0.0.0394 active dasdd 94:12 ECKD ??? 7042MB ??? > 0.0.07ff active dasde 94:16 FBA ??? 1024MB ??? > > This leaves me writing complex and fragile regular expressions to parse > info from /proc/dasd/devices, leaving myself and my colleagues many > maintenance headaches to come. > > To whoever wrote both of these tools, my apologies, but a wriggling wet > salmon be inflicted on your keyboard in the middle of an editing > session! More seriously, though, please consider machine parsibility > when you write tools. > > Grumbling, > -- Pat > > ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 ---------------------------------------------------------------------- For more information on Linux on System z, visit http://wiki.linuxvm.org/