2003-03-18 02:50:06

by Ben Collins

[permalink] [raw]
Subject: [PATCH] increase BUS_ID_SIZE to 20

I've tried to figure a way around this without adding back a lot of
overhead, but I can't.

The reasoning, is the ieee1394 node's onyl way of a real unique
identifier is the EUI (the 64bit GUID). It's represented as a 16 digit
hex. However, each node additionally ca have unit directories.

Note that an ieee1394's node-id can change with each bus reset. The
software has no control of this. So I cannot use the node-id as a unique
identifier since the driver model has no way to rename a device once it
has been registered. A bus reset should not require unregister/register
for devices which did not change.

So, I want to use the format of "%016Lx" and "%016Lx-%d" for the formats
of the bus ID in ieee1394. The second format would be used for unit
directories of a node. However, current bus-id limit is 16 characters.
The increase to 20 would give me 16 for the hex EUI, -, and 2 digits for
the unit directories (I don't think it's even possible to have > 100
unit directories).

I looked at keeping an internal ID for the node internally, but that is
just way too much overhead in our underlying system. As it is now, a
driver can reference the GUID, which will never change, not even if the
node moves to another bus, on a seperate physical ieee1394 card.

Please consider applying this patch.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/


--- linux-2.5.65.orig/include/linux/device.h 2003-03-17 19:16:02.000000000 -0500
+++ linux-2.5.65/include/linux/device.h 2003-03-17 21:50:05.000000000 -0500
@@ -35,7 +35,7 @@
#define DEVICE_NAME_SIZE 50
#define DEVICE_NAME_HALF __stringify(20) /* Less than half to accommodate slop */
#define DEVICE_ID_SIZE 32
-#define BUS_ID_SIZE 16
+#define BUS_ID_SIZE 20


enum {


2003-03-25 22:18:53

by Patrick Mochel

[permalink] [raw]
Subject: Re: [PATCH] increase BUS_ID_SIZE to 20


On Mon, 17 Mar 2003, Ben Collins wrote:

> I've tried to figure a way around this without adding back a lot of
> overhead, but I can't.
>
> The reasoning, is the ieee1394 node's onyl way of a real unique
> identifier is the EUI (the 64bit GUID). It's represented as a 16 digit
> hex. However, each node additionally ca have unit directories.

> Please consider applying this patch.

Alright, you win. I'll add it to my tree.


-pat

2003-03-27 18:31:07

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH] increase BUS_ID_SIZE to 20

On Tue, Mar 25, 2003 at 03:31:24PM -0600, Patrick Mochel wrote:
>
> On Mon, 17 Mar 2003, Ben Collins wrote:
>
> > I've tried to figure a way around this without adding back a lot of
> > overhead, but I can't.
> >
> > The reasoning, is the ieee1394 node's onyl way of a real unique
> > identifier is the EUI (the 64bit GUID). It's represented as a 16 digit
> > hex. However, each node additionally ca have unit directories.
>
> > Please consider applying this patch.
>
> Alright, you win. I'll add it to my tree.

Much appreciated.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/