Btrfs: don't attach unnecessary extents to transaction on fsync
authorFilipe Manana <fdmanana@suse.com>
Fri, 17 Apr 2015 16:08:37 +0000 (17:08 +0100)
committerChris Mason <clm@fb.com>
Wed, 10 Jun 2015 14:02:44 +0000 (07:02 -0700)
commit7558c8bc17481c1f856e009af8503ab40fec348a
tree5906acbed657779b76e966005c8a9624713d2ed2
parentb659ef027792219b590d67a2baf1643a93727d29
Btrfs: don't attach unnecessary extents to transaction on fsync

We don't need to attach ordered extents that have completed to the current
transaction. Doing so only makes us hold memory for longer than necessary
and delaying the iput of the inode until the transaction is committed (for
each created ordered extent we do an igrab and then schedule an asynchronous
iput when the ordered extent's reference count drops to 0), preventing the
inode from being evictable until the transaction commits.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/ordered-data.c