1. 24 May, 2011 2 commits
    • Jan Kara's avatar
      jbd2: fix sending of data flush on journal commit · 81be12c8
      Jan Kara authored
      
      In data=ordered mode, it's theoretically possible (however rare) that
      an inode is filed to transaction's t_inode_list and a flusher thread
      writes all the data and inode is reclaimed before the transaction
      starts to commit.  In such a case, we could erroneously omit sending a
      flush to file system device when it is different from the journal
      device (because data can still be in disk cache only).
      
      Fix the problem by setting a flag in a transaction when some inode is added
      to it and then send disk flush in the commit code when the flag is set.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      81be12c8
    • Yongqiang Yang's avatar
      ext4: fix ext4_ext_fiemap_cb() to handle blocks before request range correctly · b221349f
      Yongqiang Yang authored
      To get delayed-extent information, ext4_ext_fiemap_cb() looks up
      pagecache, it thus collects information starting from a page's
      head block.
      
      If blocksize < pagesize, the beginning blocks of a page may lies
      before the request range. So ext4_ext_fiemap_cb() should proceed
      ignoring them, because they has been handled before. If no mapped
      buffer in the range is found in the 1st page, we need to look up
      the 2nd page, otherwise delayed-extents after a hole will be ignored.
      
      Without this patch, xfstests 225 will hung on ext4 with 1K block.
      Reported-by: default avatarAmir Goldstein <amir73il@users.sourceforge.net>
      Signed-off-by: default avatarYongqiang Yang <xiaoqiangnk@gmail.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      b221349f
  2. 23 May, 2011 5 commits
  3. 22 May, 2011 1 commit
    • Theodore Ts'o's avatar
      ext4: don't show mount options in /proc/mounts if there is no journal · 373cd5c5
      Theodore Ts'o authored
      After creating an ext4 file system without a journal:
      
        # mke2fs -t ext4 -O ^has_journal /dev/sda
        # mount -t ext4 /dev/sda /test
      
      the /proc/mounts will show:
      "/dev/sda /test ext4 rw,relatime,user_xattr,acl,barrier=1,data=writeback 0 0"
      which can fool users into thinking that the fs is using writeback mode.
      
      So don't set the writeback option when the journal has not been
      enabled; we don't depend on the writeback option being set, since
      ext4_should_writeback_data() in ext4_jbd2.h tests to see if the
      journal is not present before returning true.
      Reported-by: default avatarRobin Dong <sanbai@taobao.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      
      373cd5c5
  4. 20 May, 2011 4 commits
  5. 18 May, 2011 3 commits
  6. 16 May, 2011 2 commits
  7. 15 May, 2011 1 commit
  8. 10 May, 2011 4 commits
  9. 09 May, 2011 6 commits
  10. 08 May, 2011 2 commits
  11. 03 May, 2011 6 commits
  12. 01 May, 2011 3 commits
  13. 30 Apr, 2011 1 commit
    • Theodore Ts'o's avatar
      ext4: ignore errors when issuing discards · d9f34504
      Theodore Ts'o authored
      This is an effective revert of commit a30eec2a: "ext4: stop issuing
      discards if not supported by device".  The problem is that there are
      some devices that may return errors in response to a discard request
      some times but not others.  (One example would be a hybrid dm device
      which concatenates an SSD and an HDD device).
      
      By this logic, I also removed the error checking from ext4's FITRIM
      code; so that an error from a discard will not stop the FITRIM from
      trying to trim the rest of the file system.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      d9f34504