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/

Reply via email to