Filipe Manana
3d850dd448
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>
2015-03-26 17:55:52 -07:00
..
2015-02-22 11:38:41 -05:00
2015-02-17 14:34:53 -08:00
2015-02-12 13:50:21 -08:00
2015-02-22 11:43:34 -05:00
2015-02-17 14:34:50 -08:00
2015-03-26 17:55:52 -07:00
2015-02-22 11:38:41 -05:00
2015-02-22 17:42:14 -08:00
2015-02-16 14:32:03 -05:00
2015-02-22 11:38:41 -05:00
2015-02-20 04:56:43 -05:00
2015-02-22 11:38:43 -05:00
2015-01-18 01:03:45 -05:00
2015-03-03 02:03:56 -06:00
2015-01-29 19:16:40 +01:00
2015-02-16 17:56:03 -08:00
2015-02-22 11:38:41 -05:00
2015-02-16 17:56:04 -08:00
2015-01-05 11:13:55 +01:00
2015-02-22 18:05:13 -08:00
2015-02-12 19:28:50 -08:00
2015-02-17 14:34:51 -08:00
2014-10-13 17:52:21 +01:00
2015-03-19 15:29:22 +01:00
2015-02-22 11:38:41 -05:00
2014-12-10 17:41:16 -08:00
2015-02-22 11:38:41 -05:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2015-01-07 09:51:49 +01:00
2014-11-18 10:15:29 +01:00
2015-01-19 15:59:58 -05:00
2015-02-22 17:42:14 -08:00
2015-02-17 16:12:34 -08:00
2015-03-16 21:51:20 +01:00
2015-02-12 10:39:41 -08:00
2015-02-17 14:56:45 -08:00
2015-03-03 21:52:30 -05:00
2014-09-17 16:33:11 -04:00
2015-03-19 15:49:27 -04:00
2015-03-12 18:46:08 -07:00
2015-03-12 18:46:08 -07:00
2015-01-20 14:03:04 -07:00
2015-03-12 18:46:07 -07:00
2014-10-14 02:18:22 +02:00
2015-03-18 10:29:48 +01:00
2015-03-17 09:31:30 -07:00
2015-01-16 16:01:29 -08:00
2015-02-10 15:52:38 -08:00
2015-01-20 14:03:05 -07:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2014-11-27 18:48:44 +00:00
2015-02-15 11:11:47 -08:00
2015-02-15 10:11:39 -08:00
2015-02-05 16:34:25 +01:00
2015-02-17 14:34:51 -08:00
2015-02-24 10:15:18 +11:00
2015-02-20 04:56:44 -05:00
2015-02-20 04:03:58 -05:00
2014-11-19 13:01:20 -05:00
2014-10-09 02:39:00 -04:00
2015-02-19 12:21:36 +01:00
2014-12-13 12:42:51 -08:00
2014-12-17 08:27:14 -05:00
2014-12-13 12:42:51 -08:00
2015-02-12 14:13:23 -08:00
2014-10-21 13:55:11 -06:00
2015-01-20 14:02:58 -07:00
2014-10-31 17:48:54 -04:00
2015-02-20 04:56:44 -05:00
2015-02-16 17:56:04 -08:00
2015-02-22 11:38:38 -05:00
2014-09-26 21:16:51 -04:00
2015-02-12 18:54:09 -08:00
2015-02-17 14:34:52 -08:00
2015-02-13 21:21:40 -08:00
2015-01-23 00:22:20 -05:00
2015-01-08 15:10:52 -08:00
2014-10-13 11:28:42 +02:00
2014-12-10 17:41:10 -08:00
2015-01-25 23:17:29 -05:00
2015-02-22 11:38:42 -05:00
2015-02-17 16:12:34 -08:00
2015-02-22 11:38:42 -05:00
2015-02-10 14:30:30 -08:00
2015-02-16 17:56:04 -08:00
2015-02-17 16:29:36 +01:00
2015-02-22 11:38:41 -05:00
2015-03-14 09:45:35 -04:00
2015-02-17 14:25:58 -08:00
2015-01-25 23:17:29 -05:00
2014-10-09 22:25:53 -04:00
2015-02-22 11:38:41 -05:00
2015-02-22 11:38:41 -05:00
2014-12-10 21:30:20 -05:00
2015-02-17 15:27:47 -08:00
2014-12-02 10:46:50 -06:00
2015-02-22 11:38:41 -05:00
2015-02-05 02:45:00 -05:00
2015-02-17 15:48:33 -08:00
2014-10-31 17:48:54 -04:00
2015-02-12 18:54:12 -08:00
2015-02-13 21:21:39 -08:00
2014-11-05 14:13:23 -05:00
2015-01-29 00:13:13 -05:00
2015-02-22 11:38:42 -05:00
2015-02-05 02:45:00 -05:00
2014-11-05 14:13:23 -05:00
2014-11-19 13:01:26 -05:00