From: Christophe Vu-Brugier <christophe.vu-brugier@xxxxxxxxxxx> The following patch fixes an issue in the exFAT driver. The number of allocated blocks becomes wrong if a file is truncated over 4 GiB. A similar issue was fixed last month by Sungjong Seo: commit 0c336d6e33f4 ("exfat: fix incorrect loading of i_blocks for large files") Below is a test case for the issue. A 7 GiB file is truncated to 5 GiB but stat() st_blocks shows only 1 GiB being used. $ dd if=/dev/urandom of=file.bin bs=1024k count=7168 $ /sbin/xfs_io -c "stat" file.bin fd.path = "file.bin" fd.flags = non-sync,non-direct,read-write stat.ino = 11 stat.type = regular file stat.size = 7516192768 stat.blocks = 14680064 $ /sbin/xfs_io -c "truncate 5368709120" file.bin $ /sbin/xfs_io -c "stat" file.bin fd.path = "file.bin" fd.flags = non-sync,non-direct,read-write stat.ino = 11 stat.type = regular file stat.size = 5368709120 stat.blocks = 2097152 Christophe Vu-Brugier (1): exfat: fix i_blocks for files truncated over 4 GiB fs/exfat/file.c | 2 +- fs/exfat/super.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -- 2.33.0