No support for disks with block count overflowing 32bit

In doing some experiments with our Minebox setup that uses Rockstor as its base distribution, we found that as soon as we have a disk that has more blocks than a 32bit count can hold (e.g. more than 2TB on block size of 512 or 16TB on block size of 4096), the Rockstor UI cannot list it correctly any more.
After some heavy investigation, we found that this is because of a bug in lsblk which is fixed in newer util-linux packages - Rockstor 3.9.1 has util-linux 2.23.2 (from CentOS 7) where those devices erroneously are displayed as “16E” in size and filesystems aren’t scanned correctly, while 2.29 of ubuntu 17.04 or 2.30 of openSUSE Tumbleweed result in lsblk showing the size of such disks correctly.
Given how much lsblk is in the center of “Scan Disks”, I think Rockstor should deliver a newer util-linux package where this bug is fixed. Would that be possible?

1 Like

https://github.com/karelzak/util-linux/commit/95fb0ead2bfe05f03f0dc37d0c48d701f85b345f#diff-c08f91ba21e62c5c6ac3b3d6b13aaec3 in 2.28 may have an influence but https://github.com/karelzak/util-linux/commit/f12cd8d1e931f218b4e4c40fe431c3cc725ef1d3 which is also in 2.28 is more likely to be connected to this.

@KaiRo Welcome to the Rockstor community and nice find:

Given your evidence and the generic nature of this upstream bug might it be better to submit this to RedHat as given CentOS is a concern of theirs they are likely going to be interested as we both are. I.e maybe this should go further upstream as they may well back port this particular fix to their blessed version and release as a minor point revision where more people can benefit. Just a thought.

If you end up doing this, as Rockstor can’t really get too far into the business of ‘carrying’ more than just a few packages, let us know via a link here to your report, as we pretty much rely on RedHat / CentOS to do our foundation stuff: with only a very few exceptions, e.g. the kernel, btrfs-progs, newer docker:

yum list installed | grep Rockstor-Testing
btrfs-progs.x86_64                 4.12-0.rockstor             @Rockstor-Testing
docker-engine.x86_64               1.13.1-1.el7.centos         @Rockstor-Testing
docker-engine-selinux.noarch       1.13.1-1.el7.centos         @Rockstor-Testing
kernel-ml.x86_64                   4.8.7-1.el7.elrepo          @Rockstor-Testing
kernel-ml.x86_64                   4.10.6-1.el7.elrepo         @Rockstor-Testing
kernel-ml.x86_64                   4.12.4-1.el7.elrepo         @Rockstor-Testing
kernel-ml-headers.x86_64           4.12.4-1.el7.elrepo         @Rockstor-Testing