ext2: Avoid DAX zeroing to corrupt data
authorJan Kara <jack@suse.cz>
Wed, 11 May 2016 09:58:49 +0000 (11:58 +0200)
committerVishal Verma <vishal.l.verma@intel.com>
Tue, 17 May 2016 06:44:07 +0000 (00:44 -0600)
commit86b0624e42d03a424e9571b8591d191c436f9af1
treea00a6ccf33d6f1880ce18f455d8259dc3dc1a326
parent9b6cd5f76d60b563d75e55e432e03ed134761432
ext2: Avoid DAX zeroing to corrupt data

Currently ext2 zeroes any data blocks allocated for DAX inode however it
still returns them as BH_New. Thus DAX code zeroes them again in
dax_insert_mapping() which can possibly overwrite the data that has been
already stored to those blocks by a racing dax_io(). Avoid marking
pre-zeroed buffers as new.

Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
fs/ext2/inode.c