diff options
author | Kay Sievers <kay.sievers@suse.de> | 2006-08-05 00:02:58 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@suse.de> | 2006-08-05 00:02:58 +0200 |
commit | eb82b76dedc1482b6434c46fee84d3ef13cb9648 (patch) | |
tree | f21493d9ce182f42187afa2643b83e423311b562 /extras/volume_id/lib | |
parent | b5adfb4f3387a5dcfcdb5a5996c249b1d14aa44a (diff) |
libvolume_id: read ufs2 label
Taken from the FreeBSD HAL repository.
Diffstat (limited to 'extras/volume_id/lib')
-rw-r--r-- | extras/volume_id/lib/Makefile | 2 | ||||
-rw-r--r-- | extras/volume_id/lib/ufs.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/extras/volume_id/lib/Makefile b/extras/volume_id/lib/Makefile index f53e5f1141..e5fd5fcddd 100644 --- a/extras/volume_id/lib/Makefile +++ b/extras/volume_id/lib/Makefile @@ -13,7 +13,7 @@ INSTALL_DATA = ${INSTALL} -m 644 INSTALL_LIB = ${INSTALL} -m 755 SHLIB_CUR = 0 -SHLIB_REV = 68 +SHLIB_REV = 69 SHLIB_AGE = 0 SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE) diff --git a/extras/volume_id/lib/ufs.c b/extras/volume_id/lib/ufs.c index 2713a63d4d..4ace8c99fd 100644 --- a/extras/volume_id/lib/ufs.c +++ b/extras/volume_id/lib/ufs.c @@ -205,6 +205,18 @@ int volume_id_probe_ufs(struct volume_id *id, uint64_t off, uint64_t size) found: volume_id_set_usage(id, VOLUME_ID_FILESYSTEM); id->type = "ufs"; + switch (magic) { + case UFS_MAGIC: + strcpy(id->type_version, "1"); + break; + case UFS2_MAGIC: + strcpy(id->type_version, "2"); + volume_id_set_label_raw(id, ufs->fs_u11.fs_u2.fs_volname, 32); + volume_id_set_label_string(id, ufs->fs_u11.fs_u2.fs_volname, 32); + break; + default: + break; + } return 0; } |