1
linux/fs/ext4
Toshiyuki Okajima d889dc8382 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>
2010-07-27 11:56:07 -04:00
..
acl.c ext4: update ctime when changing the file's permission by setfacl 2010-06-15 12:19:59 -04:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
bitmap.c
block_validity.c ext4: Save error information to the superblock for analysis 2010-07-27 11:56:03 -04:00
dir.c ext4: Remove unnecessary casts of private_data 2010-07-27 11:56:04 -04:00
ext4_extents.h ext4: Calculate metadata requirements more accurately 2010-01-01 02:41:30 -05:00
ext4_jbd2.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
ext4_jbd2.h ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
ext4.h ext4: fix ext4_get_blocks references 2010-07-27 11:56:07 -04:00
extents.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
file.c ext4: fix EFBIG edge case when writing to large non-extent file 2010-07-27 11:56:07 -04:00
fsync.c rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
hash.c
ialloc.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
inode.c ext4: fix ext4_get_blocks references 2010-07-27 11:56:07 -04:00
ioctl.c ext4: Drop whitespace at end of lines 2010-05-17 07:00:00 -04:00
Kconfig ext4: Don't ask about supporting ext2/3 in ext4 if ext4 is not configured 2009-12-21 10:54:09 -05:00
Makefile
mballoc.c ext4: allocate stripe-multiple IOs on stripe boundaries 2010-07-27 11:56:06 -04:00
mballoc.h ext4: consolidate in_range() definitions 2010-03-03 23:55:01 -05:00
migrate.c ext4: Convert more i_flags references to use accessor functions 2010-06-14 09:54:48 -04:00
move_extent.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
namei.c ext4: Cleanup ext4_check_dir_entry so __func__ is now implicit 2010-07-27 11:54:40 -04:00
resize.c ext4: remove initialized but not read variables 2010-06-14 13:28:03 -04:00
super.c ext4: Always journal quota file modifications 2010-07-27 11:56:07 -04:00
symlink.c ext4: symlink must be handled via filesystem specific operation 2010-05-16 02:00:00 -04:00
xattr_security.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr_trusted.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr_user.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
xattr.h ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00