]> www.infradead.org Git - users/jedix/linux-maple.git/commit
btrfs: put delayed item hook into inode
authorDavid Sterba <dsterba@suse.cz>
Thu, 19 Nov 2015 13:15:51 +0000 (14:15 +0100)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 22 Jun 2016 16:38:37 +0000 (09:38 -0700)
commitad21be553352889fd90cdadd1835e5ad8e6314aa
treeb25b064fbadd30dc8093e2d7aaacdcb30c14c07f
parent50d17b364f76c3c6b9a5c609717366836683b243
btrfs: put delayed item hook into inode

Orabug: 23513043

Inodes for delayed iput allocate a trivial helper structure, let's place
the list hook directly into the inode and save a kmalloc (killing a
__GFP_NOFAIL as a bonus) at the cost of increasing size of btrfs_inode.

The inode can be put into the delayed_iputs list more than once and we
have to keep the count. This means we can't use the list_splice to
process a bunch of inodes because we'd lost track of the count if the
inode is put into the delayed iputs again while it's processed.

Signed-off-by: David Sterba <dsterba@suse.com>
(cherry picked from commit 8089fe62c6603860f6796ca80519b92391292f21)
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Conflicts:
fs/btrfs/inode.c
fs/btrfs/btrfs_inode.h
fs/btrfs/inode.c