]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Btrfs: read inode size after acquiring the mutex when punching a hole
authorFilipe Manana <fdmanana@gmail.com>
Sat, 26 Apr 2014 00:35:31 +0000 (01:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Jul 2014 03:14:02 +0000 (20:14 -0700)
commit2501c4a066e633524791e8ce8dbfe615aca071cf
tree02a4d3393ea355964fcb9495c78373c346b680e8
parentbddf0faccf1dd39ec80059eb5266766e6bf0134c
Btrfs: read inode size after acquiring the mutex when punching a hole

commit a1a50f60a6bf4f861eb94793420274bc1ccd409a upstream.

In a previous change, commit 12870f1c9b2de7d475d22e73fd7db1b418599725,
I accidentally moved the roundup of inode->i_size to outside of the
critical section delimited by the inode mutex, which is not atomic and
not correct since the size can be changed by other task before we acquire
the mutex. Therefore fix it.

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Chris Mason <clm@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/file.c