Bug 157526
Summary: | partition_uuid of devlabel-0.48.03-6 displays diffrent partition uuid for ocfs partitions. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | Santosh Singh <santosh.singh3> | ||||||
Component: | devlabel | Assignee: | Karel Zak <kzak> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | |||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 3.0 | CC: | benl, rick.beldin | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i686 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | NdRvw | ||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2007-01-10 20:01:36 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 190430 | ||||||||
Attachments: |
|
Description
Santosh Singh
2005-05-12 11:15:38 UTC
Since the partition_uuid utility was not picking up the volume id from the quorum space of the volume, which is second sector of the volume. By adding the following field in the structure ocfs_volume_label in linux_fs.h and then copying the vol_id into the uuid in the file partition_uuid.c will solve this bug. Changes 1. In linux_fs.h struct ocfs_volume_label { u_char disk_lock[48]; u_char label[64]; u_char label_len[2]; u_char vol_id[16]; u_char vol_id_len[2]; }; 2. In partition_uuid.c if (lseek(fd, 0, SEEK_SET) == 0 && read(fd, (char *) &ovh, sizeof(ovh)) == sizeof(ovh) && (strncmp(ovh.signature, OCFS_MAGIC, sizeof(OCFS_MAGIC)) == 0) && (lseek(fd, 512, SEEK_SET) == 512) && read(fd, (char *) &olbl, sizeof(olbl)) == sizeof(olbl)) { uuid[0] = '\0'; Added ===> memcpy(uuid, olbl.vol_id, sizeof(olbl.vol_id)); namesize = ocfslabellen(olbl); if ((*label = calloc(namesize + 1, 1)) != NULL) memcpy(*label, olbl.label, namesize); rv = 0; } Created attachment 140768 [details]
patch to the partition_uuid.c
Created attachment 140769 [details]
patch to the linux_fs.h file for ocfs support
patches above appear to work in very limited testing. As the RHEL 3.9 release will be very constraint, we need a better understanding of the functional impact of the problem. Is that the only way to find out the UUIDs? Any workarounts? Product Management has reviewed and declined this request. You may appeal this decision by reopening this request. |