avb2.0: add get_size_of_partition()
PATCH v2 1/1 avb2.0: add get_size_of_partition()
Implement get_size_of_partition() operation, which is required by the latest upstream libavb [1].
[1] https://android.googlesource.com/platform/external/avb/+/master/README.md
---
Changes for v2:
- changed the return code for the case when out_size_num_bytes is NULL (s/AVB_IO_RESULT_ERROR_IO/AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE/g)
common/avb_verify.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-)
common/avb_verify.c +32 -1
@@ -699,6 +699,37 @@ static AvbIOResult get_unique_guid_for_partition(AvbOps *ops, }/** +* get_size_of_partition() - gets the size of a partition identified +* by a string name +* +* @ops: contains AVB ops handlers +* @partition: partition name (NUL-terminated UTF-8 string) +* @out_size_num_bytes: returns the value of a partition size +* +* @return: +* AVB_IO_RESULT_OK, on success (GUID found) +* AVB_IO_RESULT_ERROR_IO, out_size_num_bytes is NULL +* AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION, if partition was not found +*/ +static AvbIOResult get_size_of_partition (AvbOps *ops, +const char *partition, +u64 *out_size_num_bytes) +{ +struct mmc_part *part; + +if (!out_size_num_bytes) +return AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE ; + + part =get_partition (ops, partition); +if (!part) +return AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION ; + + *out_size_num_bytes = part->info.blksz * part->info.size; + +return AVB_IO_RESULT_OK ; +} + +/** * ============================================================================ * AVB2.0 AvbOps alloc/initialisation/free * ============================================================================
@@ -721,7 +752,7 @@ AvbOps *avb_ops_alloc(int boot_device) ops_data->ops.read_is_device_unlocked = read_is_device_unlocked; ops_data->ops.get_unique_guid_for_partition = get_unique_guid_for_partition; - + ops_data->ops.get_size_of_partition = get_size_of_partition; ops_data->mmc_dev = boot_device;return &ops_data->ops;
Signature · 1 line
2.7.4
PATCH v2 1/1 avb2.0: add get_size_of_partition()
Quoted 23 lines · Igor Opaniuk
Implement
get_size_of_partition()operation, which is required by the latest upstream libavb [1].[1] https://android.googlesource.com/platform/external/avb/+/master/README.md
Signed-off-by Igor Opaniuk <[email protected]>---
Changes for v2:
- changed the return code for the case whenout_size_num_bytesis NULL (s/AVB_IO_RESULT_ERROR_IO/AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE/g)common/avb_verify.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-)common/avb_verify.c +0
-0@@ -699,6 +699,37 @@ static AvbIOResult get_unique_guid_for_partition(AvbOps *ops, }/**
common/avb_verify.c static AvbIOResult get_unique_guid_for_partition(AvbOps *ops, · line 711
Quoted 10 lines
common/avb_verify.c +10
-0+* get_size_of_partition() - gets the size of a partition identified +* by a string name +* +* @ops: contains AVB ops handlers +* @partition: partition name (NUL-terminated UTF-8 string) +* @out_size_num_bytes: returns the value of a partition size +* +* @return: +* AVB_IO_RESULT_OK, on success (GUID found) +* AVB_IO_RESULT_ERROR_IO, out_size_num_bytes is NULL
This needs updated, other than that,
Quoted 34 lines
common/avb_verify.c +22
-1+* AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION, if partition was not found +*/ +static AvbIOResult get_size_of_partition (AvbOps *ops, +const char *partition, +u64 *out_size_num_bytes) +{ +struct mmc_part *part; + +if (!out_size_num_bytes) +return AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE ; + + part =get_partition (ops, partition); +if (!part) +return AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION ; + + *out_size_num_bytes = part->info.blksz * part->info.size; + +return AVB_IO_RESULT_OK ; +} + +/** * ============================================================================ * AVB2.0 AvbOps alloc/initialisation/free * ============================================================================ @@ -721,7 +752,7 @@ AvbOps *avb_ops_alloc(int boot_device) ops_data->ops.read_is_device_unlocked = read_is_device_unlocked; ops_data->ops.get_unique_guid_for_partition = get_unique_guid_for_partition; - + ops_data->ops.get_size_of_partition = get_size_of_partition; ops_data->mmc_dev = boot_device;return &ops_data->ops;
PATCH v2 1/1 avb2.0: add get_size_of_partition()
In reply to Igor OpaniukQuoted 2 lines · Igor Opaniuk
Implement
get_size_of_partition()operation, which is required by the latest upstream libavb [1].
FWIW, any living repository is a moving target, so there is nothing more volatile than the "latest" state of such repository. Kind request to use specific revision/commit next time. Thank you.
Best regards,
Eugeniu.