1. 18 Feb, 2002 3 commits
    • Andrew Morton's avatar
      [PATCH] ENOSPC correctness · 071c9b22
      Andrew Morton authored
      A forward-port.  This is the code which prevents ENOSPC
      errors from exposing stale data within filesystems.
      
      - in generic_file_write(), if prepare_write() fails, truncate
        the file to drop any part-added blocks.
      
      - in __block_write_full_page(), if we hit an error,  push
        whatever buffers we _have_ mapped into the file out to disk.
      
      - in __block_prepare_write(), if we hit an error, zero out
        any blocks which we did manage to map into the file.  This
        is because the caller won't be doing any writing to those
        blocks due to the error.
      071c9b22
    • Andrew Morton's avatar
      [PATCH] msync correctness · 1c000719
      Andrew Morton authored
      A forward port.  At present, msync() does not report errors
      from EIO or ENOSPC.  fsync() has the same bug for mapped pages
      against the affected fd.
      
      The patch correctly propagates these errors back up from
      writepage so that fsync and msync correctly report errors.
      
      It's fairly important - msync is the only way we have
      of reporting ENOSPC against sparse mappings.
      
      Of course, you can still silently lose your data if it's kswapd who
      gets ENOSPC during writepage.  I have 3/4 of a patch for that.  It
      records the data loss so that a later msync() will report the bad
      news.
      
      This patch also adds an implementation of msync(MS_ASYNC), because
      it was easy.
      1c000719
    • Andrew Morton's avatar
      [PATCH] IS_SYNC diretory handling · 6c5e0f13
      Andrew Morton authored
      A forward-port.  ext2, minix and sysv aren't handling directories
      correctly when IS_SYNC is in place.  They call waitfor_one_page(),
      but forgot to start the I/O.
      
      The patch also moves waitfor_one_page and writeout_one_page
      into fs/buffer.c, so mm/filemap.c now does not mention buffer_head
      at all.
      6c5e0f13
  2. 13 Feb, 2002 25 commits
  3. 12 Feb, 2002 9 commits
  4. 11 Feb, 2002 3 commits