[PATCH 0/1] exfat: fix i_blocks for files truncated over 4 GiB

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

 



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




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux