1. 17 May, 2011 1 commit
    • Jan Kara's avatar
      ext3: Fix fs corruption when make_indexed_dir() fails · 86c4f6d8
      Jan Kara authored
      When make_indexed_dir() fails (e.g. because of ENOSPC) after it has allocated
      block for index tree root, we did not properly mark all changed buffers dirty.
      This lead to only some of these buffers being written out and thus effectively
      corrupting the directory.
      
      Fix the issue by marking all changed data dirty even in the error failure case.
      
      CC: stable@kernel.org
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      86c4f6d8
  2. 29 Apr, 2011 1 commit
    • Jan Kara's avatar
      ext3: Fix lock inversion in ext3_symlink() · ae54870a
      Jan Kara authored
      ext3_symlink() cannot call __page_symlink() with transaction open.
      __page_symlink() calls ext3_write_begin() which gets page lock which ranks
      above transaction start (thus lock ordering is violated) and and also
      ext3_write_begin() waits for a transaction commit when we run out of space
      which never happens if we hold transaction open.
      
      Fix the problem by stopping a transaction before calling __page_symlink()
      (we have to be careful and put inode to orphan list so that it gets deleted
      in case of crash) and starting another one after __page_symlink() returns
      for addition of symlink into a directory.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      ae54870a
  3. 28 Apr, 2011 15 commits
  4. 27 Apr, 2011 15 commits
  5. 26 Apr, 2011 8 commits