diff options
author | Karel Zak <kzak@redhat.com> | 2013-05-02 14:54:55 +0200 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2013-09-16 16:46:54 +0200 |
commit | 0d75581e441ebcc56147500236cfdeca54c1a23c (patch) | |
tree | 1421dbeed6f35c0423e18dfc064fd776e7682c3f | |
parent | aec8d8834968b472d8986e1299f3d7dda76db5ea (diff) | |
download | util-linux-0d75581e441ebcc56147500236cfdeca54c1a23c.tar.gz |
libfdisk: add fdisk_scround()
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | fdisks/fdisksunlabel.c | 36 | ||||
-rw-r--r-- | libfdisk/src/alignment.c | 7 | ||||
-rw-r--r-- | libfdisk/src/fdiskP.h | 2 | ||||
-rw-r--r-- | libfdisk/src/utils.c | 1 |
4 files changed, 27 insertions, 19 deletions
diff --git a/fdisks/fdisksunlabel.c b/fdisks/fdisksunlabel.c index 9fc06a94..864a8b5a 100644 --- a/fdisks/fdisksunlabel.c +++ b/fdisks/fdisksunlabel.c @@ -513,9 +513,9 @@ static int sun_add_partition( fdisk_ask_number_set_default(ask, 0); /* default */ fdisk_ask_number_set_high(ask, 0); /* maximal */ } else { - fdisk_ask_number_set_low(ask, scround(cxt, start)); /* minimal */ - fdisk_ask_number_set_default(ask, scround(cxt, start)); /* default */ - fdisk_ask_number_set_high(ask, scround(cxt, stop)); /* maximal */ + fdisk_ask_number_set_low(ask, fdisk_scround(cxt, start)); /* minimal */ + fdisk_ask_number_set_default(ask, fdisk_scround(cxt, start)); /* default */ + fdisk_ask_number_set_high(ask, fdisk_scround(cxt, stop)); /* maximal */ } rc = fdisk_do_ask(cxt, ask); first = fdisk_ask_number_get_result(ask); @@ -586,20 +586,20 @@ and is of type `Whole disk'")); fdisk_ask_set_type(ask, FDISK_ASKTYPE_OFFSET); if (whole_disk) { - fdisk_ask_number_set_low(ask, scround(cxt, stop2)); /* minimal */ - fdisk_ask_number_set_default(ask, scround(cxt, stop2)); /* default */ - fdisk_ask_number_set_high(ask, scround(cxt, stop2)); /* maximal */ + fdisk_ask_number_set_low(ask, fdisk_scround(cxt, stop2)); /* minimal */ + fdisk_ask_number_set_default(ask, fdisk_scround(cxt, stop2)); /* default */ + fdisk_ask_number_set_high(ask, fdisk_scround(cxt, stop2)); /* maximal */ fdisk_ask_number_set_base(ask, 0); } else if (n == 2 && !first) { - fdisk_ask_number_set_low(ask, scround(cxt, first)); /* minimal */ - fdisk_ask_number_set_default(ask, scround(cxt, stop2)); /* default */ - fdisk_ask_number_set_high(ask, scround(cxt, stop2)); /* maximal */ - fdisk_ask_number_set_base(ask, scround(cxt, first)); + fdisk_ask_number_set_low(ask, fdisk_scround(cxt, first)); /* minimal */ + fdisk_ask_number_set_default(ask, fdisk_scround(cxt, stop2)); /* default */ + fdisk_ask_number_set_high(ask, fdisk_scround(cxt, stop2)); /* maximal */ + fdisk_ask_number_set_base(ask, fdisk_scround(cxt, first)); } else { - fdisk_ask_number_set_low(ask, scround(cxt, first)); /* minimal */ - fdisk_ask_number_set_default(ask, scround(cxt, stop)); /* default */ - fdisk_ask_number_set_high(ask, scround(cxt, stop)); /* maximal */ - fdisk_ask_number_set_base(ask, scround(cxt, first)); + fdisk_ask_number_set_low(ask, fdisk_scround(cxt, first)); /* minimal */ + fdisk_ask_number_set_default(ask, fdisk_scround(cxt, stop)); /* default */ + fdisk_ask_number_set_high(ask, fdisk_scround(cxt, stop)); /* maximal */ + fdisk_ask_number_set_base(ask, fdisk_scround(cxt, first)); } if (fdisk_context_use_cylinders(cxt)) @@ -625,8 +625,8 @@ and is of type `Whole disk'")); _("You haven't covered the whole disk with the 3rd partition, but your value\n" "%d %s covers some other partition. Your entry has been changed\n" "to %d %s"), - scround(cxt, last), fdisk_context_get_unit(cxt, SINGULAR), - scround(cxt, stop), fdisk_context_get_unit(cxt, SINGULAR)); + fdisk_scround(cxt, last), fdisk_context_get_unit(cxt, SINGULAR), + fdisk_scround(cxt, stop), fdisk_context_get_unit(cxt, SINGULAR)); last = stop; } } else if (!whole_disk && last > stop) @@ -742,9 +742,9 @@ static int sun_list_disklabel(struct fdisk_context *cxt) flags & SUN_FLAG_UNMNT ? 'u' : ' ', flags & SUN_FLAG_RONLY ? 'r' : ' ') > 0) tt_line_set_data(ln, 1, p); /* flags */ - if (asprintf(&p, "%lu", scround(cxt, start)) > 0) + if (asprintf(&p, "%ju", (uintmax_t) fdisk_scround(cxt, start)) > 0) tt_line_set_data(ln, 2, p); /* start */ - if (asprintf(&p, "%lu", scround(cxt, start + len)) > 0) + if (asprintf(&p, "%ju", (uintmax_t) fdisk_scround(cxt, start + len)) > 0) tt_line_set_data(ln, 3, p); /* end */ if (asprintf(&p, "%lu%c", (unsigned long) len / 2, diff --git a/libfdisk/src/alignment.c b/libfdisk/src/alignment.c index ac44e73c..b4d3ee01 100644 --- a/libfdisk/src/alignment.c +++ b/libfdisk/src/alignment.c @@ -379,3 +379,10 @@ int fdisk_reset_alignment(struct fdisk_context *cxt) cxt->grain, rc)); return rc; } + + +sector_t fdisk_scround(struct fdisk_context *cxt, sector_t num) +{ + sector_t un = fdisk_context_get_units_per_sector(cxt); + return (num + un - 1) / un; +} diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h index ac490be0..4dd4db6c 100644 --- a/libfdisk/src/fdiskP.h +++ b/libfdisk/src/fdiskP.h @@ -291,6 +291,8 @@ extern int fdisk_context_display_details(struct fdisk_context *cxt); /* alignment.c */ +extern sector_t fdisk_scround(struct fdisk_context *cxt, sector_t num); + extern sector_t fdisk_topology_get_first_lba(struct fdisk_context *cxt); extern unsigned long fdisk_topology_get_grain(struct fdisk_context *cxt); diff --git a/libfdisk/src/utils.c b/libfdisk/src/utils.c index 9195b2b1..9a95ba24 100644 --- a/libfdisk/src/utils.c +++ b/libfdisk/src/utils.c @@ -46,7 +46,6 @@ int fdisk_read_firstsector(struct fdisk_context *cxt) return 0; } - /* * Return allocated buffer with partition name */ |