summaryrefslogtreecommitdiffstats
path: root/arch/microblaze
diff options
context:
space:
mode:
authorFilipe Manana <fdmanana@suse.com>2015-03-12 23:23:13 +0000
committerChris Mason <clm@fb.com>2015-03-26 17:55:52 -0700
commit3d850dd44889d3aa67d0b8007c2cdd259bff7da4 (patch)
treea21c9d47c7cb1a7392008954494d49154d3a80dd /arch/microblaze
parent5f806c3ae2ff6263a10a6901f97abb74dac03d36 (diff)
downloadop-kernel-dev-3d850dd44889d3aa67d0b8007c2cdd259bff7da4.zip
op-kernel-dev-3d850dd44889d3aa67d0b8007c2cdd259bff7da4.tar.gz
Btrfs: add missing inode item update in fallocate()
If we fallocate(), without the keep size flag, into an area already covered by an extent previously fallocated, we were updating the inode's i_size but we weren't updating the inode item in the fs/subvol tree. A following umount + mount would result in a loss of the inode's size (and an fsync would miss too the fact that the inode changed). Reproducer: $ mkfs.btrfs -f /dev/sdd $ mount /dev/sdd /mnt $ fallocate -n -l 1M /mnt/foobar $ fallocate -l 512K /mnt/foobar $ umount /mnt $ mount /dev/sdd /mnt $ od -t x1 /mnt/foobar 0000000 The expected result is: $ od -t x1 /mnt/foobar 0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * 2000000 A test case for fstests follows soon. Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'arch/microblaze')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud