persistent property store - first try

Kay Sievers kay.sievers at
Sat Jun 12 16:07:41 PDT 2004

On Sat, 2004-06-12 at 23:37 +0200, David Zeuthen wrote:
> On Sat, 2004-06-12 at 22:24, Kay Sievers wrote:
> > On Sat, 2004-06-12 at 22:12 +0200, David Zeuthen wrote:
> > > Yeah, that would make sense. Perhaps even putting the functionality of
> > > HalPStore into HalDeviceStore and make the constructor accept NULL if we
> > > don't need to write to disk (like for the temporary device store).
> > 
> > Hmm, if the store belongs to a particular list, how can a property be
> > written to the users home and another one to the systems store?
> > 
> I suppose we'd have to modify the internal HalDevice API to take an
> additional argument, namely the user. For all uses except in
> hald_dbus.c:device_get_property() (and set_property) it will be set to
> NULL. Only if the PER_USER attribute is set for the property we use this
> knowledge to write to either the homedir or the system dir. 
> Yikes, I just checked and D-BUS doesn't export who the remote user is..
> Hmm; I wonder if we can get this into D-BUS; maybe just the process id
> of the remote application then we can do a number of things.

D-BUS needs to authenticate the user and currently receives credentials
(includes the senders uid) on the UNIX domain socket for the connection,
so it should not be too hard to export the information.

> > > which isn't the same on reboot. Here's a possible solution:
> > > 
> > >  usb_5dc_2_1_-1_noserial
> > >   usb_5dc_2_1_-1_noserial_0
> > >    usb_5dc_2_1_-1_noserial_0_scsi_host
> > >          (e.g. parent+"scsi_host")
> > >     usb_5dc_2_1_-1_noserial_0_scsi_host_scsi_device_0
> > >          (e.g. parent+"scsi_device_<lun_number>")
> > >      usb_5dc_2_1_-1_noserial_0_scsi_host_scsi_device_0_block_top
> > >          (e.g. parent+"block_top")
> > >       usb_5dc_2_1_-1_noserial_0_scsi_host_scsi_device_0_block_part1
> > >          (e.g. parent+"block_part<partition_number>")
> > 
> > Fine, using the whole chain for the udi is much better than the major/
> > minor thing. 
> > But it would be really nice if a external drive with both, a USB and
> > FireWire connector is can be recognized as the same thing regardless of
> > the bus used. All hard disks have serial numbers, can't we use these? 
> > 
> I'm not sure they got serial numbers, no. In fact I think the existing
> properties (such as vendor, model) change dependent on the connection
> type, but I'm not sure as I yet have to get my external HDD enclosure to
> work with Firewire on Linux 2.6; it works great with USB2 though. It
> also works great with Firewire on both WinXP and Mac OS X.

All real disks have unique serial numbers.
hdparm can read it from ATA drives, scsi drives have the serial number
on mode page 0x80, udev/extras/scsi_id/ can read it. 
Unfortunately I'm not able to read anything from my IDE drive connected
by usb-storage :(

> > And if we find a label on a partition, we can use it and you can insert
> > your CF card in a different reader too :)
> > 
> Yeah, but this might be dangerous, my Canon camera labels my CF cards as
> CANON_DC when formatting it and I got two of them :-)

Hey, same applies to the current setup :)
But, the uuid of the FAT partition should be unique, if CANON does it


hal mailing list
hal at

More information about the Hal mailing list