incorrect size for large files due to possible use of 32 bits instead of 64 bits variable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fuse-exfat (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Large files are reported incorrectly when using the 'ls' command
The expected size should 102G instead, instead it reports 1402M or 2G as if the size was limited to 2G (32 bits).
Example of INCORRECT size:
$ ls -1 -s --block-size=M /mnt/f4/
1402M /mnt/f4/
Example of CORRECT size (same file):
$ ls -l /mnt/f4/
-rwxrwxrwx 1 proxacutor proxacutor 108843801799 May 8 03:39 /mnt/f4/
Extra information:
$ hostnamectl
Static hostname: aorus
Icon name: computer-desktop
Chassis: desktop
Machine ID: 9288a1fdec014d6
Boot ID: 4a69a19ea118418
Operating System: Ubuntu 21.04
Kernel: Linux 5.11.0-17-generic
Architecture: x86-64
$ dpkg -l | grep exfat
ii exfat-fuse 1.3.0-2 amd64 read and write exFAT driver for FUSE
ii exfat-utils 1.3.0-2 amd64 utilities to create, check, label and dump exFAT filesystem
$ dpkg -l | grep bash
ii bash 5.1-2ubuntu1 amd64 GNU Bourne Again SHell
ii bash-completion 1:2.11-2ubuntu1 all programmable completion for the bash shell
$ mount
/dev/sda1 on /mnt/f4 type exfat (rw,nosuid,
...
$ cat /etc/fstab
LABEL=F4 /mnt/f4 exfat auto,user,
...
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1 exfat 1.0 F4 5E20-EAEC 26.6G 100% /mnt/f4
...
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 11T 11T 27G 100% /mnt/f4
...
The exact same file has completely different sizes depending on the options used with the 'ls' command. This issue does not happen with XFS, EXT4, ZFS, F2FS and other file systems.