xfs
[Top] [All Lists]

Re: [PATCH] xfs: Fix WARN_ON(delalloc) in xfs_vm_releasepage()

To: Jan Kara <jack@xxxxxxx>
Subject: Re: [PATCH] xfs: Fix WARN_ON(delalloc) in xfs_vm_releasepage()
From: Ben Myers <bpm@xxxxxxx>
Date: Fri, 15 Mar 2013 15:52:14 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1363267854-25602-1-git-send-email-jack@xxxxxxx>
References: <1363267854-25602-1-git-send-email-jack@xxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
Hi Jan,

On Thu, Mar 14, 2013 at 02:30:54PM +0100, Jan Kara wrote:
> When a dirty page is truncated from a file but reclaim gets to it before
> truncate_inode_pages(), we hit WARN_ON(delalloc) in
> xfs_vm_releasepage(). This is because reclaim tries to write the page,
> xfs_vm_writepage() just bails out (leaving page clean) and thus reclaim
> thinks it can continue and calls xfs_vm_releasepage() on page with dirty
> buffers.
> 
> Fix the issue by redirtying the page in xfs_vm_writepage(). This makes
> reclaim stop reclaiming the page and also logically it keeps page in a
> more consistent state where page with dirty buffers has PageDirty set.

Was there an easy way to reproduce this?  I'm testing and reviewing this now
and it might help.

Thanks much,
       Ben

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