libfdisk: add fdisk_reset_alignment()
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
aa42788d5f
commit
c578f9af72
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue