|
|
|
Re: [PATCH 2/5] fdisk: add total sectors | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On Sun, Jun 03, 2012 at 08:15:20PM +0200, Davidlohr Bueso wrote:
> From: Davidlohr Bueso <dave@xxxxxxx>
>
> Add the total_sectors variable to the context structure. This is the initial geometry information.
>
> Signed-off-by: Davidlohr Bueso <dave@xxxxxxx>
> ---
> fdisk/fdisk.c | 21 ++++++++-------------
> fdisk/fdisk.h | 5 ++++-
> fdisk/fdiskdoslabel.c | 4 ++--
> fdisk/utils.c | 12 ++++++++++++
> 4 files changed, 26 insertions(+), 16 deletions(-)
>
> diff --git a/fdisk/fdisk.c b/fdisk/fdisk.c
> index d7ff2e5..654d8f3 100644
> --- a/fdisk/fdisk.c
> +++ b/fdisk/fdisk.c
> @@ -145,7 +145,6 @@ unsigned int heads,
> units_per_sector = 1,
> display_in_cyl_units = 0;
>
> -sector_t total_number_of_sectors; /* in logical sectors */
> unsigned long grain = DEFAULT_SECTOR_SIZE;
> enum labeltype disklabel; /* Current disklabel */
>
> @@ -400,8 +399,8 @@ void update_units(void)
>
> void warn_limits(struct fdisk_context *cxt)
> {
> - if (total_number_of_sectors > UINT_MAX && !nowarn) {
> - unsigned long long bytes = total_number_of_sectors * cxt->sector_size;
> + if (cxt->total_sectors > UINT_MAX && !nowarn) {
> + unsigned long long bytes = cxt->total_sectors * cxt->sector_size;
> int giga = bytes / 1000000000;
> int hectogiga = (giga + 50) / 100;
>
> @@ -509,7 +508,7 @@ update_sector_offset(struct fdisk_context *cxt)
> sector_offset = x / cxt->sector_size;
>
> /* don't use huge offset on small devices */
> - if (total_number_of_sectors <= sector_offset * 4)
> + if (cxt->total_sectors <= sector_offset * 4)
> sector_offset = cxt->phy_sector_size / cxt->sector_size;
>
> /* use 1MiB grain always when possible */
> @@ -517,7 +516,7 @@ update_sector_offset(struct fdisk_context *cxt)
> grain = 2048 * 512;
>
> /* don't use huge grain on small devices */
> - if (total_number_of_sectors <= (grain * 4 / cxt->sector_size))
> + if (cxt->total_sectors <= (grain * 4 / cxt->sector_size))
> grain = cxt->phy_sector_size;
> }
> }
> @@ -540,13 +539,9 @@ get_geometry(struct fdisk_context *cxt, struct geom *g) {
> pt_sectors ? pt_sectors :
> kern_sectors ? kern_sectors : 63;
>
> - /* get number of 512-byte sectors, and convert it the real sectors */
> - if (blkdev_get_sectors(cxt->dev_fd, &nsects) == 0)
> - total_number_of_sectors = (nsects / (cxt->sector_size >> 9));
This leaves 'nsect' as unused variable.
Otherwise it looks good to me.
Petr
--
Petr Uzel
IRC: ptr_uzl @ freenode
Attachment:
pgpZu2yDZ7JWG.pgp
Description: PGP signature
[Site Home] [Netdev] [Ethernet Bridging] [Linux Wireless] [Kernel Newbies] [Memory] [Security] [Linux for Hams] [Netfilter] [Bugtraq] [Rubini] [Photo] [Yosemite] [Yosemite News] [MIPS Linux] [ARM Linux] [Linux RAID] [Linux Admin] [Samba] [Video 4 Linux] [Linux Resources]