From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> When we're flushing an inode log item, it is not necessary to mess with the inode cluster buffer's log item because the iflush code paths pass the inode log item directly. The unconditional reset causes us to leak buffer log items. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- libxfs/trans.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libxfs/trans.c b/libxfs/trans.c index 295e687e..bd7bbc69 100644 --- a/libxfs/trans.c +++ b/libxfs/trans.c @@ -861,10 +861,8 @@ inode_item_done( * of whether the flush succeed or not. If we fail the flush, make sure * we still release the buffer reference we currently hold. */ - bp->b_log_item = iip; error = libxfs_iflush_int(ip, bp); ip->i_transp = NULL; /* disassociate from transaction */ - bp->b_log_item = NULL; /* remove log item */ bp->b_transp = NULL; /* remove xact ptr */ if (error) {