summaryrefslogtreecommitdiffstats
path: root/libfdisk/src/bsd.c
diff options
context:
space:
mode:
authorKarel Zak2013-11-26 13:29:23 +0100
committerKarel Zak2014-03-11 11:35:12 +0100
commit8c0a7f9136ea54d955daee4151004c4476d86f73 (patch)
treea7de504075af6879b628be11e86b6b23f61e74e6 /libfdisk/src/bsd.c
parentlib/tt: add reduce term width functionality (diff)
downloadkernel-qcow2-util-linux-8c0a7f9136ea54d955daee4151004c4476d86f73.tar.gz
kernel-qcow2-util-linux-8c0a7f9136ea54d955daee4151004c4476d86f73.tar.xz
kernel-qcow2-util-linux-8c0a7f9136ea54d955daee4151004c4476d86f73.zip
libfdisk: add struct fdisk_partition
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/bsd.c')
-rw-r--r--libfdisk/src/bsd.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/libfdisk/src/bsd.c b/libfdisk/src/bsd.c
index fdeaad29f..aada73a1b 100644
--- a/libfdisk/src/bsd.c
+++ b/libfdisk/src/bsd.c
@@ -879,24 +879,16 @@ static int bsd_set_parttype(
return 0;
}
-static int bsd_get_partition_status(
+static int bsd_partition_is_used(
struct fdisk_context *cxt,
- size_t partnum,
- int *status)
+ size_t partnum)
{
- struct bsd_partition *p;
struct bsd_disklabel *d = self_disklabel(cxt);
- if (!status || partnum >= BSD_MAXPARTITIONS)
- return -EINVAL;
-
- p = &d->d_partitions[partnum];
- *status = FDISK_PARTSTAT_NONE;
-
- if (p->p_size)
- *status = FDISK_PARTSTAT_USED;
+ if (partnum >= BSD_MAXPARTITIONS)
+ return 0;
- return 0;
+ return d->d_partitions[partnum].p_size ? 1 : 0;
}
@@ -910,7 +902,7 @@ static const struct fdisk_label_operations bsd_operations =
.part_delete = bsd_delete_part,
.part_get_type = bsd_get_parttype,
.part_set_type = bsd_set_parttype,
- .part_get_status= bsd_get_partition_status,
+ .part_is_used = bsd_partition_is_used,
};