From: Karel Zak Date: Thu, 6 Dec 2012 14:04:35 +0000 (+0100) Subject: libfdisk: add fdisk_reset_alignment() X-Git-Tag: v2.23-rc1~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c578f9af729fd6cb4bc64a431b1779df8f94f889;p=thirdparty%2Futil-linux.git libfdisk: add fdisk_reset_alignment() Signed-off-by: Karel Zak --- diff --git a/fdisks/fdisk.h b/fdisks/fdisk.h index cdbc40886d..91855a66aa 100644 --- a/fdisks/fdisk.h +++ b/fdisks/fdisk.h @@ -74,7 +74,6 @@ extern const struct fdisk_label gpt_label; extern struct fdisk_context *fdisk_new_context_from_filename(const char *fname, int readonly); extern void fdisk_free_context(struct fdisk_context *cxt); extern int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name); -extern int fdisk_reset_alignment(struct fdisk_context *cxt); extern struct fdisk_parttype *fdisk_get_partition_type(struct fdisk_context *cxt, int partnum); extern int fdisk_set_partition_type(struct fdisk_context *cxt, int partnum, struct fdisk_parttype *t); diff --git a/fdisks/utils.c b/fdisks/utils.c index 15278bf7d2..5f4aaccb3f 100644 --- a/fdisks/utils.c +++ b/fdisks/utils.c @@ -69,39 +69,6 @@ static int __probe_labels(struct fdisk_context *cxt) return 1; /* not found */ } - -/** - * fdisk_reset_alignment: - * @cxt: fdisk context - * - * Resets alignment setting to the default or label specific values. - * - * Returns: 0 on success, < 0 in case of error. - */ -int fdisk_reset_alignment(struct fdisk_context *cxt) -{ - int rc = 0; - - if (!cxt) - return -EINVAL; - - /* default */ - cxt->grain = fdisk_topology_get_grain(cxt); - cxt->first_lba = fdisk_topology_get_first_lba(cxt); - - /* overwrite default by label stuff */ - if (cxt->label && cxt->label->reset_alignment) - rc = cxt->label->reset_alignment(cxt); - - DBG(LABEL, dbgprint("%s alignment reseted to: " - "first LBA=%ju, grain=%lu [rc=%d]", - cxt->label ? cxt->label->name : NULL, - (uintmax_t) cxt->first_lba, - cxt->grain, rc)); - return rc; -} - - /** * fdisk_create_disklabel: * @cxt: fdisk context diff --git a/libfdisk/src/alignment.c b/libfdisk/src/alignment.c index e06e1afb0f..25c0c6467b 100644 --- a/libfdisk/src/alignment.c +++ b/libfdisk/src/alignment.c @@ -6,9 +6,6 @@ #include "fdiskP.h" -/* temporary */ -extern int fdisk_reset_alignment(struct fdisk_context *cxt); - /* * Alignment according to logical granulity (usually 1MiB) */ @@ -350,3 +347,34 @@ unsigned long fdisk_topology_get_grain(struct fdisk_context *cxt) return res; } + +/** + * fdisk_reset_alignment: + * @cxt: fdisk context + * + * Resets alignment setting to the default or label specific values. + * + * Returns: 0 on success, < 0 in case of error. + */ +int fdisk_reset_alignment(struct fdisk_context *cxt) +{ + int rc = 0; + + if (!cxt) + return -EINVAL; + + /* default */ + cxt->grain = fdisk_topology_get_grain(cxt); + cxt->first_lba = fdisk_topology_get_first_lba(cxt); + + /* overwrite default by label stuff */ + if (cxt->label && cxt->label->reset_alignment) + rc = cxt->label->reset_alignment(cxt); + + DBG(LABEL, dbgprint("%s alignment reseted to: " + "first LBA=%ju, grain=%lu [rc=%d]", + cxt->label ? cxt->label->name : NULL, + (uintmax_t) cxt->first_lba, + cxt->grain, rc)); + return rc; +} diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h index 6ea08bdb0d..08df05bed4 100644 --- a/libfdisk/src/libfdisk.h +++ b/libfdisk/src/libfdisk.h @@ -68,6 +68,9 @@ extern int fdisk_verify_disklabel(struct fdisk_context *cxt); extern int fdisk_add_partition(struct fdisk_context *cxt, int partnum, struct fdisk_parttype *t); extern int fdisk_delete_partition(struct fdisk_context *cxt, int partnum); +/* alignment.c */ +extern int fdisk_reset_alignment(struct fdisk_context *cxt); + #ifdef __cplusplus } #endif