libfdisk: add label->changed flag

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2013-01-18 16:11:08 +01:00
parent d6ab93f18a
commit 2e3b40d3dd
3 changed files with 19 additions and 0 deletions

View File

@ -167,6 +167,8 @@ struct fdisk_label {
size_t nparts_max; /* maximal number of partitions */
size_t nparts_cur; /* number of currently used partitions */
unsigned int changed:1; /* label has been modified */
const struct fdisk_label_operations *op;
};

View File

@ -238,3 +238,16 @@ void fdisk_deinit_label(struct fdisk_label *lb)
if (lb->op->deinit)
lb->op->deinit(lb);
}
void fdisk_label_set_changed(struct fdisk_label *lb, int changed)
{
assert(lb);
lb->changed = changed ? 1 : 0;
}
int fdisk_label_is_changed(struct fdisk_label *lb)
{
assert(lb);
return lb ? lb->changed : 0;
}

View File

@ -87,6 +87,10 @@ extern struct fdisk_parttype *fdisk_get_partition_type(struct fdisk_context *cxt
extern int fdisk_set_partition_type(struct fdisk_context *cxt, int partnum,
struct fdisk_parttype *t);
extern void fdisk_label_set_changed(struct fdisk_label *lb, int changed);
extern int fdisk_label_is_changed(struct fdisk_label *lb);
/* alignment.c */
extern int fdisk_reset_alignment(struct fdisk_context *cxt);