1. 30 Jan, 2009 1 commit
    • Theodore Ts'o's avatar
      ext4: Remove bogus BUG() check in ext4_bmap() · b9ec63f7
      Theodore Ts'o authored
      The code to support journal-less ext4 operation added a BUG to
      ext4_bmap() which fired if there was no journal and the
      EXT4_STATE_JDATA bit was set in the i_state field.  This caused
      running the filefrag program (which uses the FIMBAP ioctl) to trigger
      a BUG().
      
      The EXT4_STATE_JDATA bit is only used for ext4_bmap(), and it's
      harmless for the bit to be set.  We could add a check in
      __ext4_journalled_writepage() and ext4_journalled_write_end() to only
      set the EXT4_STATE_JDATA bit if the journal is present, but that adds
      an extra test and jump instruction.  It's easier to simply remove the
      BUG check.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=12568Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      b9ec63f7
  2. 27 Jan, 2009 2 commits
  3. 20 Jan, 2009 1 commit
  4. 16 Jan, 2009 3 commits
  5. 17 Jan, 2009 1 commit
    • Theodore Ts'o's avatar
      ext4: only use i_size_high for regular files · 06a279d6
      Theodore Ts'o authored
      Directories are not allowed to be bigger than 2GB, so don't use
      i_size_high for anything other than regular files.  E2fsck should
      complain about these inodes, but the simplest thing to do for the
      kernel is to only use i_size_high for regular files.
      
      This prevents an intentially corrupted filesystem from causing the
      kernel to burn a huge amount of CPU and issuing error messages such
      as:
      
      EXT4-fs warning (device loop0): ext4_block_to_path: block 135090028 > max
      
      Thanks to David Maciejak from Fortinet's FortiGuard Global Security
      Research Team for reporting this issue.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=12375Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      06a279d6
  6. 12 Jan, 2009 1 commit
    • Simon Holm Thøgersen's avatar
      ext4: fix wrong use of do_div · c225aa57
      Simon Holm Thøgersen authored
      the following warning:
      
      fs/jbd2/journal.c: In function ‘jbd2_seq_info_show’:
      fs/jbd2/journal.c:850: warning: format ‘%lu’ expects type ‘long
      unsigned int’, but argument 3 has type ‘uint32_t’
      
      is caused by wrong usage of do_div that modifies the dividend in-place
      and returns the quotient. So not only would an incorrect value be
      displayed, but s->journal->j_average_commit_time would also be changed
      to a wrong value!
      
      Fix it by using div_u64 instead.
      Signed-off-by: default avatarSimon Holm Thøgersen <odie@cs.aau.dk>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      c225aa57
  7. 28 Jan, 2009 31 commits