Lets be clear here.   There isn't really a bug in fdisk.  It just doesn't handle any partition table types other than MSDOS.  And MSDOS type partition tables have the 2 TB limitation, not fdisk.

I don't blame developers for not updating fdisk.  I think its an inferior tool to parted (and gparted).  For instance, in addition to handling on MSDOS type partition tables, it also allows users to move and resize partitions, non destructively.

One of the strengths of FOSS is that there is a variety of tools to work with and they generally support the latest available hardware, ie > 2TB hard drives in this case.  To say nothing of USB 3.0 and a whole host of other things, like good RAID, etc.

And just to be clear on something else, there was documentation on the 2TB fdisk limitation, but I had to glean info from several sources to complete my mission.   Having figured everything out, I merely wrote up the post in order to share what I learned and to compile everything needed for the task in one source.

Now... could fdisk (and gparted) be improved ?  Absolutely.    Here is how:

a) fdisk should have a warning anytime it is asked to work on a disk > 2TB.  There are no warnings that it limits the size of > 2TB devices until the final outcome, which for me was running df after mkfs on the partition.  Had I not been awake, I probably would have filled the drive before I realized that only the first 2 TB was being used.

b) parted and gparted should warn users who select MSDOS type partition tables for devices > 2 TB.   It should also warn users if an MSDOS type partition table has been used for devices > 2 TB, ie if someone partitioned a drive using fdisk.

c) unless parted (and gparted) is started with the optimize parameter, you may get a warning that the disk has not been set up efficiently, with no clue as to why or how to fix it.   I think end users need more information than the warning.

d) If one runs parted (and gparted) on a > 3TB with an MSDOS style partition table, one gets an obscure error message about having too many sectors.  Again I think end users need more information than that error message.