]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: flush delayed inodes if we're short on space
authorJosef Bacik <jbacik@fusionio.com>
Thu, 21 Jun 2012 18:05:49 +0000 (14:05 -0400)
committerChris Mason <chris.mason@fusionio.com>
Mon, 23 Jul 2012 19:41:40 +0000 (15:41 -0400)
commitb5e891c2c6b161f3238ece8093f98cc35ef8caea
tree9791f09825d0a03b66a2c2b41a40ef5d3bd79b71
parent962d7a7ae0846ba8266bd9a55da4f0d2ea91dc3a
Btrfs: flush delayed inodes if we're short on space

Those crazy gentoo guys have been complaining about ENOSPC errors on their
portage volumes.  This is because doing things like untar tends to create
lots of new files which will soak up all the reservation space in the
delayed inodes.  Usually this gets papered over by the fact that we will try
and commit the transaction, however if this happens in the wrong spot or we
choose not to commit the transaction you will be screwed.  So add the
ability to expclitly flush delayed inodes to free up space.  Please test
this out guys to make sure it works since as usual I cannot reproduce.
Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/delayed-inode.c
fs/btrfs/delayed-inode.h
fs/btrfs/extent-tree.c