public inbox for util-linux@vger.kernel.org
 help / color / mirror / Atom feed
* blkid -o value
@ 2012-03-27 17:26 Michael Conrad
  2012-03-27 17:31 ` Ted Ts'o
  2012-03-28  7:34 ` Karel Zak
  0 siblings, 2 replies; 7+ messages in thread
From: Michael Conrad @ 2012-03-27 17:26 UTC (permalink / raw)
  To: util-linux

Hi, I've just had a semi-serious problem related to blkid's "-o value" 
format.

When I first discovered that output format, I assumed that it would be a 
stable script-friendly output format intended for people who don't want 
to parse the name/value pairs.  The fields appeared to be
   LABEL
   UUID
   TYPE
and I wrote a script assuming the third one was TYPE.

However, suddenly the output has changed to be
   LABEL
   UUID
   SEC_TYPE <-- "ext2"
   TYPE <-- "ext3"

which caused my script to mount a ext3 partition as ext2, killing the 
journal.

Looking at the code, it appears that it iterates over some list coming 
from libblkid and prints a line with the value only if the value 
exists.  So it appears that there was never any intention of it being a 
stable output.

I would request that either the order of fields become stable by 
printing empty lines for missing fields (and documented), or the "-o 
value" be done away with, since I can't see any reason anyone would want 
random output in a script-friendly format, and the fact that it exists 
is likely to lead people astray.

Thoughts?  Comments?

-Mike Conrad

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-03-28 21:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-27 17:26 blkid -o value Michael Conrad
2012-03-27 17:31 ` Ted Ts'o
2012-03-27 17:52   ` Michael Conrad
2012-03-27 18:43     ` Ted Ts'o
2012-03-28  9:00       ` Karel Zak
2012-03-28 21:03         ` Michael Conrad
2012-03-28  7:34 ` Karel Zak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox