xfs
[Top] [All Lists]

Re: [PATCH 1/2] xfs: aborted buf items can be in the AIL.

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] xfs: aborted buf items can be in the AIL.
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Fri, 06 Sep 2013 14:39:24 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1378208858-20557-2-git-send-email-david@xxxxxxxxxxxxx>
References: <1378208858-20557-1-git-send-email-david@xxxxxxxxxxxxx> <1378208858-20557-2-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 09/03/13 06:47, Dave Chinner wrote:
From: Dave Chinner<dchinner@xxxxxxxxxx>

Saw this on generic/270 after a DQALLOC transaction overrun
shutdown:

XFS: Assertion failed: !(bip->bli_item.li_flags&  XFS_LI_IN_AIL), file: 
fs/xfs/xfs_buf_item.c, line: 952
.....
  xfs_buf_item_relse+0x4f/0xd0
  xfs_buf_item_unlock+0x1b4/0x1e0
  xfs_trans_free_items+0x7d/0xb0
  xfs_trans_cancel+0x13c/0x1b0
  xfs_symlink+0x37e/0xa60
....

When a transaction abort occured.

If we are aborting a transaction and trigger this code path, then
the item may be dirty. If the item is dirty, then it may be in the
AIL. Hence if we are aborting, we need to check if the item is in
the AIL and remove it before freeing it.

Signed-off-by: Dave Chinner<dchinner@xxxxxxxxxx>
---

This is fine for Linux 3.12. Christoph's reference counting reorg sounds interesting.

Reviewed-by: Mark Tinguely <tinguely@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>