• Bob Peterson's avatar
    gfs2: use i_lock spin_lock for inode qadata · 5fcff61e
    Bob Peterson authored
    Before this patch, functions gfs2_qa_get and _put used the i_rw_mutex to
    prevent simultaneous access to its i_qadata. But i_rw_mutex is now used
    for many other things, including iomap_begin and end, which causes a
    conflict according to lockdep. We cannot just remove the lock since
    simultaneous opens (gfs2_open -> gfs2_open_common -> gfs2_qa_get) can
    then stomp on each others values for i_qadata.
    
    This patch solves the conflict by using the i_lock spin_lock in the inode
    to prevent simultaneous access.
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    5fcff61e
quota.c 42.6 KB