GPT (more than 256 partitions)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Peter Böttcher
Hingbergstrasse 363
45472 Muelheim Ruhr
NRW
Germany

mail: peter.boettcher@xxxxxxx


First! Sorry for this english.

I wrote a partition program just for the GUID Partition Table (GPT). 5 years ago.

The program can generate volumes from 4 to 4096  partitions (my own limit).
GPT header pos. 80 is an unsigned 32 Bit field.

The program can e.g. create partitions with the numbers 1, 10, 100, 200, 300, 1000, 2000 etc. on the volume.

Windows, FREE/BSD Unix, Mac OS X manage a volume without problems.
They mount all partitions without problems.

So that Linux can do such a volume management, I had to patch the file include/linux/genhd.h up to the Linux kernel 4.13.12.
It worked fine for many years.

---------------------------------------------------------------------
patch: include/linux/genhd.h

old: #define DISK_MAX_PARTS  256
new: #define DISK_MAX_PARTS  4096


---------------------------------------------------------------------

In Linux Kernel 4.14.0 I have to patch the following files.

---------------------------------------------------------------------
patch: include/linux/genhd.h

old: #define DISK_MAX_PARTS  256
new: #define DISK_MAX_PARTS  4096

---------------------------------------------------------------------
patch: include/linux/fs.h

struct block_device  {

                                old: u8 bd_partno;
                                new: u16 bd_partno;


---------------------------------------------------------------------
patch: include/linux/blk_types.h

struct bio {
                old: u8 bio_partno;
                new: u16 bio_partno;

---------------------------------------------------------------------
patch: driver/md/dm-bio-record.h

struct dm_bio_details {
                  old: u8 bio_partno;
                  new: u16 bio_partno;

---------------------------------------------------------------------
patch: driver/md/dm-bio-integrity.c

struct dm_integrity_io {
                old: u8 bio_partno;
                new: u16 bio_partno;

---------------------------------------------------------------------


This works well (admittedly short time).


Peter Böttcher





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux