1. 13 10月, 2007 2 次提交
    • A
      NTFS: Fix a mount time deadlock. · bfab36e8
      Anton Altaparmakov 提交于
      Big thanks go to Mathias Kolehmainen for reporting the bug, providing
      debug output and testing the patches I sent him to get it working.
      
      The fix was to stop calling ntfs_attr_set() at mount time as that causes
      balance_dirty_pages_ratelimited() to be called which on systems with
      little memory actually tries to go and balance the dirty pages which tries
      to take the s_umount semaphore but because we are still in fill_super()
      across which the VFS holds s_umount for writing this results in a
      deadlock.
      
      We now do the dirty work by hand by submitting individual buffers.  This
      has the annoying "feature" that mounting can take a few seconds if the
      journal is large as we have clear it all.  One day someone should improve
      on this by deferring the journal clearing to a helper kernel thread so it
      can be done in the background but I don't have time for this at the moment
      and the current solution works fine so I am leaving it like this for now.
      Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bfab36e8
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · f26e51f6
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (51 commits)
        [DLM] block dlm_recv in recovery transition
        [DLM] don't overwrite castparam if it's NULL
        [GFS2] Get superblock a different way
        [GFS2] Don't try to remove buffers that don't exist
        [GFS2] Alternate gfs2_iget to avoid looking up inodes being freed
        [GFS2] Data corruption fix
        [GFS2] Clean up journaled data writing
        [GFS2] GFS2: chmod hung - fix race in thread creation
        [DLM] Make dlm_sendd cond_resched more
        [GFS2] Move inode deletion out of blocking_cb
        [GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118!
        [GFS2] Clean up gfs2_trans_add_revoke()
        [GFS2] Use slab operations for all gfs2_bufdata allocations
        [GFS2] Replace revoke structure with bufdata structure
        [GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing
        [GFS2] Clean up ordered write code
        [GFS2] Move pin/unpin into lops.c, clean up locking
        [GFS2] Don't mark jdata dirty in gfs2_unstuffer_page()
        [GFS2] Introduce gfs2_remove_from_ail
        [GFS2] Correct lock ordering in unlink
        ...
      f26e51f6
  2. 12 10月, 2007 38 次提交