xfs: add missing bmap cancel calls in error paths
authorBrian Foster <bfoster@redhat.com>
Wed, 19 Aug 2015 00:01:40 +0000 (10:01 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 19 Aug 2015 00:01:40 +0000 (10:01 +1000)
If a failure occurs after the bmap free list is populated and before
xfs_bmap_finish() completes successfully (which returns a partial
list on failure), the bmap free list must be cancelled. Otherwise,
the extent items on the list are never freed and a memory leak
occurs.

Several random error paths throughout the code suffer this problem.
Fix these up such that xfs_bmap_cancel() is always called on error.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/xfs_bmap_util.c
fs/xfs/xfs_inode.c
fs/xfs/xfs_rtalloc.c

Simple merge
Simple merge
Simple merge
Simple merge