[dm-devel] [RFC PATCH v2 2/2] kpartx: Use fixed size types in struct solaris_x86_vtoc
Petr Vorel
pvorel at suse.cz
Sat Oct 12 19:29:38 UTC 2019
Some of the items in struct solaris_x86_vtoc defined in kernel uses
fixed size types (with specified byte order). We're not able to find
original 32-bit x86 Solaris sources, but expect struct definition in
kernel is correct, therefore use it as a source of size of struct items.
With one exception: keep timestamp[SOLARIS_X86_NUMSLICE] as time_t
(kernel uses unsigned int).
Cc: Christoph Hellwig <hch at infradead.org>
Cc: Baruch Even <baruch at ev-en.org>
Signed-off-by: Petr Vorel <pvorel at suse.cz>
---
changes v1->v2:
new commit.
kpartx/solaris.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/kpartx/solaris.c b/kpartx/solaris.c
index 0fda10ad..6b1795d8 100644
--- a/kpartx/solaris.c
+++ b/kpartx/solaris.c
@@ -14,13 +14,13 @@ struct solaris_x86_slice {
};
struct solaris_x86_vtoc {
- unsigned long v_bootinfo[3]; /* info for mboot */
- unsigned long v_sanity; /* to verify vtoc sanity */
- unsigned long v_version; /* layout version */
+ unsigned int v_bootinfo[3]; /* info for mboot */
+ uint32_t v_sanity; /* to verify vtoc sanity */
+ uint32_t v_version; /* layout version */
char v_volume[8]; /* volume name */
- unsigned short v_sectorsz; /* sector size in bytes */
- unsigned short v_nparts; /* number of partitions */
- unsigned long v_reserved[10]; /* free space */
+ uint16_t v_sectorsz; /* sector size in bytes */
+ uint16_t v_nparts; /* number of partitions */
+ unsigned int v_reserved[10]; /* free space */
struct solaris_x86_slice
v_slice[SOLARIS_X86_NUMSLICE]; /* slice headers */
time_t timestamp[SOLARIS_X86_NUMSLICE]; /* timestamp */
@@ -44,7 +44,7 @@ read_solaris_pt(int fd, struct slice all, struct slice *sp, int ns) {
return -1;
if(v->v_version != 1) {
- fprintf(stderr, "Cannot handle solaris version %ld vtoc\n",
+ fprintf(stderr, "Cannot handle solaris version %d vtoc\n",
v->v_version);
return 0;
}
--
2.23.0
More information about the dm-devel
mailing list