• Eric Sandeen's avatar
    ext4: don't return to userspace after freezing the fs with a mutex held · 6b0310fb
    Eric Sandeen authored
    ext4_freeze() used jbd2_journal_lock_updates() which takes
    the j_barrier mutex, and then returns to userspace.  The
    kernel does not like this:
    
    ================================================
    [ BUG: lock held when returning to user space! ]
    ------------------------------------------------
    lvcreate/1075 is leaving the kernel with locks still held!
    1 lock held by lvcreate/1075:
     #0:  (&journal->j_barrier){+.+...}, at: [<ffffffff811c6214>]
    jbd2_journal_lock_updates+0xe1/0xf0
    
    Use vfs_check_frozen() added to ext4_journal_start_sb() and
    ext4_force_commit() instead.
    
    Addresses-Red-Hat-Bugzilla: #568503
    Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    6b0310fb
super.c 117 KB