I'm pretty sure /proc/dasd/devices is deprecated too.. need to do some fancy reading of things out of /sys now. I actually preferred /proc/dasd/devices over lsdasd - because lsdasd output is different depending on the distro/release.. /proc was the same no matter where you were.. still use it in a pinch because the /sys route is more complicated..
Hopefully - lsdasd is stabilizing it's output now and you can more reliably count on the output.. Scott Rohling On Wed, Aug 10, 2011 at 1:40 PM, Patrick Spinler <spinler.patr...@mayo.edu>wrote: > 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/ > ---------------------------------------------------------------------- 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/