Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

maximize size of partition if possible (only partition table, without touching FS/LVM)

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

ptmax - maximize partition in partition tableш to include it's trailing unallocated space

Anyone, who have tried to resize a partition with LVM's PV on it do know that felling: What the hell, we are dealing with a 64-bytes 35-years old fixed size structure with bunch of INTs and still CAN NOT JUST RESIZE partiton.

All existing utilities looks grim. Fdisk allows us to do this, but with 'DELETE and CREATE' (if you miss numbers, you are fckd up), parted says it don't know how to do with LVM partition and so on.

If we had an 'old plain spinning drive' with misarranged paritions, we can say: 'think before creating'. Because bare metall hard drives don't scale.

But now we live in the world of virtual machines, iscsi, LVM, MD which offers way to 'change disk size in 2 clicks'. And what the hell you are supposed to do after drive (block device) size changed, but the partition table is still the same?

Yep. This utility partially solve the problem. It takes parition name (/dev/sda1, /dev/xvda2 and so on) and attemts to maximize partition. Only 4 bytes in partition table (size filed), nothing more. After that you can run pvreze, or resize2fs, or whatever, to reflect the change on a higher level.

Usage is pertty simple:

ptmax /dev/sda3

That's all.

It cautious to avoid doing do bad things, so it will max partition size only if PT is sane  and there is a free space after the targeted partition. It will not move partitions, attempt to use leading unpartitioned space, change the partition number, or alter in any other way the original partitioning schema or data inside partition.

Currently there is no support for CHS, LBA only (?), so don't try it on <32Mb partitions.

Something went wrong with that request. Please try again.