libfdisk: (gpt) fix attributes endianess

The new libfdisk/gpt test (4a4a0927) discovered that we read and write
partition attributes wrongly on BE systems.

Our temporarily used char[8] bits are always LE and do not need to be
converted.

CC: Michael Marineau <michael.marineau@coreos.com>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
Ruediger Meier 2015-05-08 13:39:53 +02:00 committed by Karel Zak
parent b3f5d0bc28
commit 159652d937
1 changed files with 4 additions and 4 deletions

View File

@ -1415,7 +1415,7 @@ static int gpt_entry_attrs_to_string(struct gpt_entry *e, char **res)
assert(res); assert(res);
*res = NULL; *res = NULL;
attrs = le64_to_cpu(e->attrs); attrs = e->attrs;
if (!attrs) if (!attrs)
return 0; /* no attributes at all */ return 0; /* no attributes at all */
@ -1530,7 +1530,7 @@ static int gpt_entry_attrs_from_string(
p++; p++;
} }
e->attrs = cpu_to_le64(attrs); e->attrs = attrs;
return 0; return 0;
} }
@ -2517,7 +2517,7 @@ static int gpt_toggle_partition_flag(
if ((uint32_t) i >= le32_to_cpu(gpt->pheader->npartition_entries)) if ((uint32_t) i >= le32_to_cpu(gpt->pheader->npartition_entries))
return -EINVAL; return -EINVAL;
attrs = le64_to_cpu(gpt->ents[i].attrs); attrs = gpt->ents[i].attrs;
bits = (char *) &attrs; bits = (char *) &attrs;
switch (flag) { switch (flag) {
@ -2558,7 +2558,7 @@ static int gpt_toggle_partition_flag(
else else
clrbit(bits, bit); clrbit(bits, bit);
gpt->ents[i].attrs = cpu_to_le64(attrs); gpt->ents[i].attrs = attrs;
if (flag == GPT_FLAG_GUIDSPECIFIC) if (flag == GPT_FLAG_GUIDSPECIFIC)
fdisk_info(cxt, isset(bits, bit) ? fdisk_info(cxt, isset(bits, bit) ?