• Jan Kara's avatar
    xfs: Fix WARN_ON(delalloc) in xfs_vm_releasepage() · ff9a28f6
    Jan Kara authored
    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.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Reviewed-by: default avatarCarlos Maiolino <cmaiolino@redhat.com>
    Signed-off-by: default avatarBen Myers <bpm@sgi.com>
    ff9a28f6
xfs_aops.c 41.4 KB