]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ext4: fix EFBIG edge case when writing to large non-extent file
authorToshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Tue, 27 Jul 2010 15:56:07 +0000 (11:56 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 27 Jul 2010 15:56:07 +0000 (11:56 -0400)
commitd889dc8382c4d71b6d538b7b13777bc1ec51df10
treee789637cb83e053a5d9706d4a66d20411cec2261
parent79e8303677fc15f508b9877e0fea1925c4add6f3
ext4: fix EFBIG edge case when writing to large non-extent file

By running the following reproducer, we can confirm that the write
system call returns with 0 when it should return the error EFBIG.

#!/bin/sh

/bin/dd if=/dev/zero of=./img bs=1k count=1 seek=1024k > /dev/null 2>&1
/sbin/mkfs.ext3 -Fq ./img
/bin/mount -o loop -t ext4 ./img /mnt
/bin/touch /mnt/file
strace /bin/dd if=/dev/zero of=/mnt/file conv=notrunc bs=1k count=1 seek=$((2194719883264/1024)) 2>&1 | /bin/egrep "write.* 1024\) = "
/bin/umount /mnt
exit

Signed-off-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Eric Sandeen <sandeen@redhat.com>
fs/ext4/file.c