VFAT Volume Labels

Kay Sievers kay.sievers at vrfy.org
Thu Jan 6 12:18:03 PST 2005


On Thu, 2005-01-06 at 14:32 +0100, Fredrik Nilsson wrote:

> > Please post the relevant output of:
> >   hald --daemon=no --verbose=yes
> > 
> > it should print something like that:
> > 
> > 12:34:02.922 [I] linux/volume_id/volume_id.c:2017: called with size=0x3e6b000
> > 12:34:02.922 [I] linux/volume_id/volume_id.c:202: get buffer off 0x3e50000, len 0x800
> > 12:34:02.924 [I] linux/volume_id/volume_id.c:237: read seekbuf off:0x3e50000 len:0x800
> > 12:34:02.931 [I] linux/volume_id/volume_id.c:241: got 0x800 (2048) bytes
> > 12:34:02.931 [I] linux/volume_id/volume_id.c:202: get buffer off 0x400, len 0x800
> > 12:34:02.933 [I] linux/volume_id/volume_id.c:213: read sbbuf len:0xc00
> > 12:34:02.940 [I] linux/volume_id/volume_id.c:216: got 0xc00 (3072) bytes
> > 12:34:02.940 [I] linux/volume_id/volume_id.c:202: get buffer off 0x0, len 0x800
> > 12:34:02.942 [I] linux/volume_id/volume_id.c:202: get buffer off 0x1200, len 0x200
> > 12:34:02.943 [I] linux/volume_id/volume_id.c:213: read sbbuf len:0x1400
> > 12:34:02.951 [I] linux/volume_id/volume_id.c:216: got 0x1400 (5120) bytes
> > 12:34:02.951 [I] linux/volume_id/volume_id.c:202: get buffer off 0x0, len 0x200
> > 12:34:02.953 [I] linux/volume_id/volume_id.c:906: sector_size 0x200
> > 12:34:02.954 [I] linux/volume_id/volume_id.c:907: sectors_per_cluster 0x1
> > 12:34:02.956 [I] linux/volume_id/volume_id.c:911: reserved 0x20
> > 12:34:02.957 [I] linux/volume_id/volume_id.c:916: sect_count 0x1f358
> > 12:34:02.959 [I] linux/volume_id/volume_id.c:921: fat_length 0x3d8
> > 12:34:02.960 [I] linux/volume_id/volume_id.c:926: dir_size 0x0
> > 12:34:02.962 [I] linux/volume_id/volume_id.c:930: cluster_count 0x1eb88
> > 12:34:02.963 [I] linux/volume_id/volume_id.c:987: root dir cluster 2
> > 12:34:02.965 [I] linux/volume_id/volume_id.c:998: next cluster 2
> > 12:34:02.966 [I] linux/volume_id/volume_id.c:1001: cluster offset 0xfa000
> > 12:34:02.968 [I] linux/volume_id/volume_id.c:202: get buffer off 0xfa000, len 0x200
> > 12:34:02.969 [I] linux/volume_id/volume_id.c:237: read seekbuf off:0xfa000 len:0x200
> > 12:34:02.976 [I] linux/volume_id/volume_id.c:241: got 0x200 (512) bytes
> > 12:34:02.976 [I] linux/volume_id/volume_id.c:1010: expected entries 0x10
> > 12:34:02.978 [I] linux/volume_id/volume_id.c:1024: found ATTR_VOLUME id in root dir
> > 12:34:02.979 [I] linux/block_class_device.c:108: volume.fsusage = 'filesystem'
> > 12:34:02.981 [I] linux/block_class_device.c:111: volume.fstype = 'vfat'
> > 12:34:02.982 [I] linux/block_class_device.c:114: volume.fsversion = 'FAT32'
> > 12:34:02.984 [I] linux/block_class_device.c:117: volume.uuid = 'E845-7A89'
> > 12:34:02.985 [I] linux/block_class_device.c:119: volume.label = 'VRFY'


> I have the same problem with my Lacie 250 GB usb harddrive.
> On my XP box the name is Lacie, but on my ubuntu box the name is NO
> NAME.

> 14:27:52.214 [I] linux/volume_id/volume_id.c:906: sector_size 0x200
> 14:27:52.214 [I] linux/volume_id/volume_id.c:907: sectors_per_cluster 0x40

Huh, hell, 32kb clustersize. We are not prepared for this. :)

Any chance to try the following patch? If not I can send you a small
standalone application which will read and print the label on the commandline.

diff -u -p -r1.45.2.1 volume_id.c
--- hald/linux/volume_id/volume_id.c    22 Nov 2004 21:53:50 -0000      1.45.2.1
+++ hald/linux/volume_id/volume_id.c    6 Jan 2005 20:11:39 -0000
@@ -78,7 +78,7 @@
 /* size of superblock buffer, reiserfs block is at 64k */
 #define SB_BUFFER_SIZE                         0x11000
 /* size of seek buffer 4k */
-#define SEEK_BUFFER_SIZE                       0x1000
+#define SEEK_BUFFER_SIZE                       0x10000

The whole cluster with the directory list should fit into the read buffer.
If this fixes the problem I will think about the "right fix" for it.

Thanks,
Kay

_______________________________________________
hal mailing list
hal at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/hal



More information about the Hal mailing list