Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Sep 2010 09:47:24 -0700
From:      "Kevin Oberman" <oberman@es.net>
To:        gnome@freebsd.org
Subject:   Another weird hald issue
Message-ID:  <20100914164725.128871CC3A@ptavv.es.net>

next in thread | raw e-mail | index | archive | help
hald and I just don't seem to get along well. This one is really
mystifying to me.

I have two geli encrypted USB disk slices. One shows up in lshal and the
other does not. I can't see any difference to account for this.

Both are geli slices that have a UFS 'd' partition. One is seen by hald
and auto-mounted. While the geli slice of the other is seen by hald, the
partition in it is not, so it is not mounted. devd reports the device
creation identically, as far as I can tell.

Here is the devd output:
!system=DEVFS subsystem=CDEV type=CREATE cdev=da0s3.eli
!system=DEVFS subsystem=CDEV type=CREATE cdev=da0s3.elid
!system=DEVFS subsystem=CDEV type=CREATE cdev=ufsid/4bdb229f7dfac54e
!system=DEVFS subsystem=CDEV type=CREATE cdev=ufs/Auxbak

This appears the same as I see for the other one that works:
!system=DEVFS subsystem=CDEV type=CREATE cdev=da1s1.eli
!system=DEVFS subsystem=CDEV type=CREATE cdev=da1s1.elid
!system=DEVFS subsystem=CDEV type=CREATE cdev=ufsid/4c1fbcddb7f6b85f
!system=DEVFS subsystem=CDEV type=CREATE cdev=ufs/aux2
!system=DEVFS subsystem=CDEV type=DESTROY cdev=ufs/aux2
!system=DEVFS subsystem=CDEV type=DESTROY cdev=ufsid/4c1fbcddb7f6b85f

The DESTROYs were when the devices were mounted. as I would expect. hald
does not see the /dev/da0s3.elid partition, though.
> lshal | grep /dev/da
  block.device = '/dev/da0'  (string)
  freebsd.device_file = '/dev/da0'  (string)
  block.device = '/dev/da0s1'  (string)
  block.device = '/dev/da0s2'  (string)
  block.device = '/dev/da0s3'  (string)
  block.device = '/dev/da0s3.eli'  (string)
  block.device = '/dev/da1'  (string)
  freebsd.device_file = '/dev/da1'  (string)
  block.device = '/dev/da1s1'  (string)
  block.device = '/dev/da1s1.eli'  (string)
  block.device = '/dev/da1s1.elid'  (string)

I can fsck the partition and I can mount it manually. No
problems.

Here are the full listings for the geli slices:
udi = '/org/freedesktop/Hal/devices/volume_size_533779542016'
  block.device = '/dev/da0s3.eli'  (string)
  block.is_volume = true  (bool)
  block.major = 0  (0x0)  (int)
  block.minor = 134  (0x86)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_2GH5KM5P_$
  info.capabilities = {'block', 'volume'} (string list)
  info.category = 'volume'  (string)
  info.parent = '/org/freedesktop/Hal/devices/volume_part4_size_533779545600'  $
  info.product = 'Volume'  (string)
  info.subsystem = 'block'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_size_533779542016'  (string)
  volume.block_size = 4096  (0x1000)  (uint64)
  volume.fstype = ''  (string)
  volume.fsusage = 'partitiontable'  (string)
  volume.ignore = true  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = false  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = false  (bool)
  volume.label = ''  (string)
  volume.mount_point = ''  (string)
  volume.num_blocks = 130317271  (0x7c47bd7)  (uint64)
  volume.size = 533779542016  (0x7c47bd7000)  (uint64)
  volume.uuid = ''  (string)

udi = '/org/freedesktop/Hal/devices/volume_size_500105216000'
  block.device = '/dev/da1s1.eli'  (string)
  block.is_volume = true  (bool)
  block.major = 0  (0x0)  (int)
  block.minor = 162  (0xa2)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_2GE21F34'$
  info.capabilities = {'block', 'volume'} (string list)
  info.category = 'volume'  (string)
  info.parent = '/org/freedesktop/Hal/devices/volume_part2_size_500105217024'  $
  info.product = 'Volume'  (string)
  info.subsystem = 'block'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_size_500105216000'  (string)
  volume.block_size = 4096  (0x1000)  (uint64)
  volume.fstype = ''  (string)
  volume.fsusage = 'partitiontable'  (string)
  volume.ignore = true  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = false  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = false  (bool)
  volume.label = ''  (string)
  volume.mount_point = ''  (string)
  volume.num_blocks = 122096000  (0x7470980)  (uint64)
  volume.size = 500105216000  (0x7470980000)  (uint64)
  volume.uuid = ''  (string)

Any ideas here? Any other information I should provide?
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100914164725.128871CC3A>