]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: move_extent improve bh vanishing success factor
authorDmitry Monakhov <dmonakhov@openvz.org>
Wed, 5 Nov 2014 16:52:38 +0000 (11:52 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 5 Nov 2014 16:52:38 +0000 (11:52 -0500)
commitc242a420f60106da88e59d9315475997a1631e68
tree370f7015b4a53cabc2547a2bb59141cc5219d21a
parent07f3e0931c7df93ad87c2836ee1d7614860e3ab2
ext4: move_extent improve bh vanishing success factor

Xiaoguang Wang has reported sporadic EBUSY failures of ext4/302
Unfortunetly there is nothing we can do if some other task holds BH's
refenrence.  So we must return EBUSY in this case.  But we can try
kicking the journal to see if the other task releases the bh reference
after the commit is complete.  Also decrease false positives by
properly checking for ENOSPC and retrying the allocation after kicking
the journal --- which is done by ext4_should_retry_alloc().

[ Modified by tytso to properly check for ENOSPC. ]

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/move_extent.c