]> 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)
commit1572098d6d0370184781e44b9445ce2b24470da0
tree370f7015b4a53cabc2547a2bb59141cc5219d21a
parent560bafeb23e4501651a67282c16c3859b44cf3df
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