• Andrew Morton's avatar
    [PATCH] remove i_dirty_data_buffers · 7d513234
    Andrew Morton authored
    Removes inode.i_dirty_data_buffers.  It's no longer used - all dirty
    buffers have their pages marked dirty and filemap_fdatasync() /
    filemap_fdatawait() catches it all.
    
    Updates all callers.
    
    This required a change in JFS - it has "metapages" which
    are a container around a page which holds metadata.  They
    were holding these pages locked and were relying on fsync_inode_data_buffers
    for writing them out.  So fdatasync() deadlocked.
    
    I've changed JFS to not lock those pages.  Change was acked
    by Dave Kleikamp <shaggy@austin.ibm.com> as the right
    thing to do, but may not be complete.  Probably igrab()
    against ->host is needed to pin the address_space down.
    7d513234
inode.c 22.1 KB