ext4: don't keep using page if inline conversion fails
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 11 Sep 2014 15:45:12 +0000 (11:45 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 11 Sep 2014 15:45:12 +0000 (11:45 -0400)
commit684de5748660e16e185754697ac0afa9e18297f6
treef8af853dd102b275b1b5a2333e6658587c68405e
parentdf4763bea5b04d8eed941cfe3df51f22cfe95570
ext4: don't keep using page if inline conversion fails

If inline->extent conversion fails (most probably due to ENOSPC) and
we release the temporary page that we allocated to transfer the file
contents, don't keep using the page pointer after releasing the page.
This occasionally leads to complaints about evicting locked pages or
hangs when blocksize > pagesize, because it's possible for the page to
get reallocated elsewhere in the meantime.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Tao Ma <tm@tao.ma>
fs/ext4/inline.c