1. 09 1月, 2006 1 次提交
    • O
      [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) · 28fd1298
      OGAWA Hirofumi 提交于
      This patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it.
      
      See mm/filemap.c:
      
      And changes the filemap_write_and_wait() and filemap_write_and_wait_range().
      
      Current filemap_write_and_wait() doesn't wait if filemap_fdatawrite()
      returns error.  However, even if filemap_fdatawrite() returned an
      error, it may have submitted the partially data pages to the device.
      (e.g. in the case of -ENOSPC)
      
      <quotation>
      Andrew Morton writes,
      
      If filemap_fdatawrite() returns an error, this might be due to some
      I/O problem: dead disk, unplugged cable, etc.  Given the generally
      crappy quality of the kernel's handling of such exceptions, there's a
      good chance that the filemap_fdatawait() will get stuck in D state
      forever.
      </quotation>
      
      So, this patch doesn't wait if filemap_fdatawrite() returns the -EIO.
      
      Trond, could you please review the nfs part?  Especially I'm not sure,
      nfs must use the "filemap_fdatawrite(inode->i_mapping) == 0", or not.
      Acked-by: NTrond Myklebust <trond.myklebust@fys.uio.no>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      28fd1298
  2. 28 9月, 2005 1 次提交
    • L
      [PATCH] v9fs: fix races in fid allocation · 0b8dd177
      Latchesar Ionkov 提交于
      Fid management cleanup.  The patch attempts to fix the races in dentry's
      fid management.
      
      Dentries don't keep the opened fids anymore, they are moved to the file
      structs.  Ideally there should be no more than one fid with fidcreate equal
      to zero in the dentry's list of fids.
      
      v9fs_fid_create initializes the important fields (fid, fidcreated) before
      v9fs_fid is added to the list.  v9fs_fid_lookup returns only fids that are
      not created by v9fs_create.  v9fs_fid_get_created returns the fid created
      by the same process by v9fs_create (if any) and removes it from dentry's
      list
      Signed-off-by: NLatchesar Ionkov <lucho@ionkov.net>
      Cc: Eric Van Hensbergen <ericvh@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0b8dd177
  3. 10 9月, 2005 1 次提交