1. 30 Apr, 2012 1 commit
  2. 29 Apr, 2012 4 commits
  3. 21 Feb, 2012 1 commit
  4. 09 Jan, 2012 1 commit
    • Al Viro's avatar
      ext[34]: avoid i_nlink warnings triggered by drop_nlink/inc_nlink kludge in symlink() · 0ce8c010
      Al Viro authored
      
      
      Both ext3 and ext4 put the half-created symlink inode into the orphan list
      for a while (see the comment in ext[34]_symlink() for gory details).  Then,
      if everything went fine, they pull it out of the orphan list and bump the
      link count back to 1.  The thing is, inc_nlink() is going to complain about
      seeing somebody changing i_nlink from 0 to 1.  With a good reason, since
      normally something like that is a bug.  Explicit set_nlink(inode, 1) does
      the same thing as inc_nlink() here, but it does *not* complain - exactly
      because it should be usable in strange situations like this one.
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0ce8c010
  5. 04 Jan, 2012 3 commits
  6. 02 Nov, 2011 2 commits
  7. 29 Oct, 2011 1 commit
  8. 26 Oct, 2011 1 commit
  9. 31 Aug, 2011 3 commits
  10. 23 Aug, 2011 2 commits
  11. 12 Aug, 2011 1 commit
  12. 25 Jul, 2011 1 commit
  13. 20 Jul, 2011 1 commit
  14. 16 Jul, 2011 1 commit
  15. 11 Jul, 2011 1 commit
    • Lukas Czerner's avatar
      ext4: remove unnecessary comments in ext4_orphan_add() · afb86178
      Lukas Czerner authored
      
      
      The comment from Al Viro about possible race in the ext4_orphan_add() is
      not justified. There is no race possible as we always have either i_mutex
      locked, or the inode can not be referenced from outside hence the
      J_ASSERS should not be hit from the reason described in comment.
      
      This commit replaces it with notion that we are holding i_mutex so it
      should not be possible for i_nlink to be changed while waiting for
      s_orphan_lock.
      
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      afb86178
  16. 26 May, 2011 3 commits
  17. 15 May, 2011 1 commit
  18. 03 May, 2011 2 commits
    • Jan Kara's avatar
      ext4: fix deadlock in ext4_symlink() in ENOSPC conditions · df5e6223
      Jan Kara authored
      
      
      ext4_symlink() cannot call __page_symlink() with transaction open.
      __page_symlink() calls ext4_write_begin() which can wait for
      transaction commit if we are running out of space thus causing a
      deadlock. Also error recovery in ext4_truncate_failed_write() does not
      count with the transaction being already started (although I'm not
      aware of any particular deadlock here).
      
      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>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      df5e6223
    • Jan Kara's avatar
      ext4: Fix fs corruption when make_indexed_dir() fails · 7ad8e4e6
      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.
      
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      7ad8e4e6
  19. 22 Mar, 2011 1 commit
  20. 21 Mar, 2011 1 commit
  21. 15 Mar, 2011 1 commit
  22. 10 Jan, 2011 3 commits
  23. 20 Dec, 2010 2 commits
  24. 15 Dec, 2010 1 commit
  25. 28 Oct, 2010 1 commit