summaryrefslogtreecommitdiff
path: root/cgpt/cgpt_common.c
diff options
context:
space:
mode:
authorDan Ehrenberg <dehrenberg@chromium.org>2014-12-09 13:42:15 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-12-11 03:12:14 +0000
commitb3d38f5c620da89662deb1a08971c5025d6c1132 (patch)
tree1a401569a1d4faf8c45c32708a1b3856b707e190 /cgpt/cgpt_common.c
parentcfe83a827d40b310003fc6996b9978d8cf301444 (diff)
downloadvboot-b3d38f5c620da89662deb1a08971c5025d6c1132.tar.gz
vboot: GPT interface cleanup
- Rename drive_sectors to streaming_drive_sectors, to contrast with gpt_drive_sectors - Replace stored_on_device field with flags field for future extensibility BUG=chromium:433433 TEST=make runtests BRANCH=none Change-Id: I785a3b735b8eb96f647a334659329db3ee43eb80 Signed-off-by: Dan Ehrenberg <dehrenberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/234283 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'cgpt/cgpt_common.c')
-rw-r--r--cgpt/cgpt_common.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/cgpt/cgpt_common.c b/cgpt/cgpt_common.c
index 1438dfb3..b580e33a 100644
--- a/cgpt/cgpt_common.c
+++ b/cgpt/cgpt_common.c
@@ -150,11 +150,11 @@ static int GptLoad(struct drive *drive, uint32_t sector_bytes) {
(long long unsigned int)drive->size, drive->gpt.sector_bytes);
return -1;
}
- drive->gpt.drive_sectors = drive->size / drive->gpt.sector_bytes;
+ drive->gpt.streaming_drive_sectors = drive->size / drive->gpt.sector_bytes;
/* TODO(namnguyen): Remove this and totally trust gpt_drive_sectors. */
- if (drive->gpt.stored_on_device == GPT_STORED_ON_DEVICE) {
- drive->gpt.gpt_drive_sectors = drive->gpt.drive_sectors;
+ if (!(drive->gpt.flags & GPT_FLAG_EXTERNAL)) {
+ drive->gpt.gpt_drive_sectors = drive->gpt.streaming_drive_sectors;
} /* Else, we trust gpt.gpt_drive_sectors. */
// Read the data.
@@ -171,9 +171,9 @@ static int GptLoad(struct drive *drive, uint32_t sector_bytes) {
return -1;
}
GptHeader* primary_header = (GptHeader*)drive->gpt.primary_header;
- if (CheckHeader(primary_header, 0, drive->gpt.drive_sectors,
+ if (CheckHeader(primary_header, 0, drive->gpt.streaming_drive_sectors,
drive->gpt.gpt_drive_sectors,
- drive->gpt.stored_on_device) == 0) {
+ drive->gpt.flags) == 0) {
if (CGPT_OK != Load(drive, &drive->gpt.primary_entries,
primary_header->entries_lba,
drive->gpt.sector_bytes, GPT_ENTRIES_SECTORS)) {
@@ -184,9 +184,9 @@ static int GptLoad(struct drive *drive, uint32_t sector_bytes) {
Warning("Primary GPT header is invalid\n");
}
GptHeader* secondary_header = (GptHeader*)drive->gpt.secondary_header;
- if (CheckHeader(secondary_header, 1, drive->gpt.drive_sectors,
+ if (CheckHeader(secondary_header, 1, drive->gpt.streaming_drive_sectors,
drive->gpt.gpt_drive_sectors,
- drive->gpt.stored_on_device) == 0) {
+ drive->gpt.flags) == 0) {
if (CGPT_OK != Load(drive, &drive->gpt.secondary_entries,
secondary_header->entries_lba,
drive->gpt.sector_bytes, GPT_ENTRIES_SECTORS)) {
@@ -284,7 +284,6 @@ int DriveOpen(const char *drive_path, struct drive *drive, int mode,
// Clear struct for proper error handling.
memset(drive, 0, sizeof(struct drive));
- drive->gpt.stored_on_device = GPT_STORED_ON_DEVICE;
drive->fd = open(drive_path, mode | O_LARGEFILE | O_NOFOLLOW);
if (drive->fd == -1) {
@@ -303,10 +302,10 @@ int DriveOpen(const char *drive_path, struct drive *drive, int mode,
drive->gpt.gpt_drive_sectors = gpt_drive_size / sector_bytes;
if (drive_size == 0) {
drive->size = gpt_drive_size;
- drive->gpt.stored_on_device = GPT_STORED_ON_DEVICE;
+ drive->gpt.flags = 0;
} else {
drive->size = drive_size;
- drive->gpt.stored_on_device = GPT_STORED_OFF_DEVICE;
+ drive->gpt.flags = GPT_FLAG_EXTERNAL;
}