2003-02-26 16:08:02

by Rolf Eike Beer

[permalink] [raw]
Subject: [PATCH] Use hex numbers in fs/block_dev.c

We're using hex numbers to identify devices in most places. We should use
them in filesystem messages, errors etc. too, this would be much more
consistent and avoids things like this where two different naming styles
for the same error are used:

end_request: [...] dev 16:45 (hdd), sector 9175248
EXT3-fs error (device ide1(22,69)): [...] inode=575269, block=1146906

With this patch the second message would look like this:

EXT3-fs error (device ide1(16:45)): [...] inode=575269, block=1146906

This code is used in some drivers outside fs/ too, but there only in *print*
or DEBUG's.

Eike

--- linux-2.5.63-eike/fs/block_dev.c.orig Tue Feb 25 08:15:45 2003
+++ linux-2.5.63-eike/fs/block_dev.c Wed Feb 26 16:04:28 2003
@@ -794,7 +794,7 @@
if (!name)
name = "unknown-block";

- sprintf(buffer, "%s(%d,%d)", name, MAJOR(dev), MINOR(dev));
+ sprintf(buffer, "%s(%x:%x)", name, MAJOR(dev), MINOR(dev));
return buffer;
}


2003-02-26 16:27:38

by Jörn Engel

[permalink] [raw]
Subject: Re: [PATCH] Use hex numbers in fs/block_dev.c

On Wed, 26 February 2003 17:19:15 +0100, Rolf Eike Beer wrote:
>
> We're using hex numbers to identify devices in most places. We should use
> them in filesystem messages, errors etc. too, this would be much more
> consistent and avoids things like this where two different naming styles
> for the same error are used:
>
> end_request: [...] dev 16:45 (hdd), sector 9175248
> EXT3-fs error (device ide1(22,69)): [...] inode=575269, block=1146906
>
> With this patch the second message would look like this:
>
> EXT3-fs error (device ide1(16:45)): [...] inode=575269, block=1146906

Whis is _horrible_. Am I supposed to guess that ide does not use major
16, so it will be 0x16 == 22 instead?

Better use the patch below, if at all.

--- linux-2.5.63-eike/fs/block_dev.c.orig Tue Feb 25 08:15:45 2003
+++ linux-2.5.63-eike/fs/block_dev.c Wed Feb 26 16:04:28 2003
@@ -794,7 +794,7 @@
if (!name)
name = "unknown-block";

- sprintf(buffer, "%s(%d,%d)", name, MAJOR(dev), MINOR(dev));
+ sprintf(buffer, "%s(0x%x:0x%x)", name, MAJOR(dev), MINOR(dev));
return buffer;
}

J?rn

--
Courage is not the absence of fear, but rather the judgement that
something else is more important than fear.
-- Ambrose Redmoon

2003-02-26 16:50:41

by Rolf Eike Beer

[permalink] [raw]
Subject: Re: [PATCH] Use hex numbers in fs/block_dev.c

Am Mittwoch, 26. Februar 2003 17:37 schrieb J?rn Engel:
> On Wed, 26 February 2003 17:19:15 +0100, Rolf Eike Beer wrote:
> > We're using hex numbers to identify devices in most places. We should use
> > them in filesystem messages, errors etc. too, this would be much more
> > consistent and avoids things like this where two different naming styles
> > for the same error are used:
> >
> > end_request: [...] dev 16:45 (hdd), sector 9175248
> > EXT3-fs error (device ide1(22,69)): [...] inode=575269,
> > block=1146906
> >
> > With this patch the second message would look like this:
> >
> > EXT3-fs error (device ide1(16:45)): [...] inode=575269,
> > block=1146906
>
> Whis is _horrible_. Am I supposed to guess that ide does not use major
> 16, so it will be 0x16 == 22 instead?

Of course, I know. But then we have to fix the end_request stuff also. And
root=831 command line etc. This _is_ ugly. I just tried to make it one kind
of ugly at all.

Eike

2003-02-27 00:02:27

by jw schultz

[permalink] [raw]
Subject: Re: [PATCH] Use hex numbers in fs/block_dev.c

On Wed, Feb 26, 2003 at 06:01:55PM +0100, Rolf Eike Beer wrote:
> Am Mittwoch, 26. Februar 2003 17:37 schrieb J?rn Engel:
> > On Wed, 26 February 2003 17:19:15 +0100, Rolf Eike Beer wrote:
> > > We're using hex numbers to identify devices in most places. We should use
> > > them in filesystem messages, errors etc. too, this would be much more
> > > consistent and avoids things like this where two different naming styles
> > > for the same error are used:
> > >
> > > end_request: [...] dev 16:45 (hdd), sector 9175248
> > > EXT3-fs error (device ide1(22,69)): [...] inode=575269,
> > > block=1146906
> > >
> > > With this patch the second message would look like this:
> > >
> > > EXT3-fs error (device ide1(16:45)): [...] inode=575269,
> > > block=1146906
> >
> > Whis is _horrible_. Am I supposed to guess that ide does not use major
> > 16, so it will be 0x16 == 22 instead?
>
> Of course, I know. But then we have to fix the end_request stuff also. And
> root=831 command line etc. This _is_ ugly. I just tried to make it one kind
> of ugly at all.

If you are going to print it in hex do make it clear but one
0x should be enough: 0x16:45 is OK, 0x16:0x45 is hideous.

Given that the way i would identify device would be to grep
for the numbers in an ls of /dev i'd much rather they be in
decimal. It all depends on how people will use the values.
When would i use the hex representation be useful?

--
________________________________________________________________
J.W. Schultz Pegasystems Technologies
email address: [email protected]

Remember Cernan and Schmitt