Re: Small oddity of the week: 2.4.20-pre

From: Andries Brouwer (aebr@win.tue.nl)
Date: Sat Oct 12 2002 - 17:46:09 EST


On Sat, Oct 12, 2002 at 07:30:57PM +0100, Alastair Stevens wrote:
> On Sat, 2002-10-12 at 19:00, Andries Brouwer wrote:
> > > ie - the first time, it gives me two repeated lines. This appears to be
> > > random. In a clean terminal, it'll sometimes give me only the one line
> > > on the first run, and then do two lines multiple times....
> >
> > Could it be that you have statistics garbage in /proc/partitions?
> > That will break fdisk.
>
> Well, I'm no expert, but it looks OK to me:
>
> 953 alastair@dolphin:~> cat /proc/partitions
> major minor #blocks name rio rmerge rsect ruse wio wmerge wsect
> wuse running use aveq
>
> 3 0 58633344 hda 413162 1219920 12595886 1973640 268105 574049
> 6745668 8302590 -2 36995689 21817577
> 3 1 7253316 hda1 8 24 64 110 0 0 0 0 0 110 110

Some vendors added statistics to /proc/partitions.
Laziness on their side. Since they patch the kernel anyway
it would have been very easy to make /proc/diskstatistics.
But vendors may do as they wish.
This breaks some software, but these same vendors patch their
versions of this software.

Then some misguided people came and wanted this in the official kernel.
Bad. It is bad enough that vendors add pollution, but that good kernel
developers want to do this is inexplicable to me.
It only causes trouble, and gains precisely nothing.

In this particular case there are two problems:
(i) the format was changed
(ii) the content has become dynamic

Many proc files like /proc/filesystems or /proc/partitions may change,
but not many times a second, and most likely not without the operator
being aware of it. This means that programs like mount and fdisk can
read these files [1]. But a /proc/partitions that contains statistics
will change many times a second, causing problems for programs that
try to read it one line at a time.

My conjecture is that you were bitten by the latter phenomenon.

Andries

[1] The correct use of mount is to give an explicit type.
The correct use of fdisk is to give an explicit device.
Nothing else is guaranteed.
Shorthand versions work with high probability. But with a
dynamic /proc/partitions they work with lower probability.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:44 EST