• Alexander Aring's avatar
    fs: dlm: add shutdown hook · 9d232469
    Alexander Aring authored
    This patch fixes issues which occurs when dlm lowcomms synchronize their
    workqueues but dlm application layer already released the lockspace. In
    such cases messages like:
    
    dlm: gfs2: release_lockspace final free
    dlm: invalid lockspace 3841231384 from 1 cmd 1 type 11
    
    are printed on the kernel log. This patch is solving this issue by
    introducing a new "shutdown" hook before calling "stop" hook when the
    lockspace is going to be released finally. This should pretend any
    dlm messages sitting in the workqueues during or after lockspace
    removal.
    
    It's necessary to call dlm_scand_stop() as I instrumented
    dlm_lowcomms_get_buffer() code to report a warning after it's called after
    dlm_midcomms_shutdown() functionality, see below:
    
    WARNING: CPU: 1 PID: 3794 at fs/dlm/midcomms.c:1003 dlm_midcomms_get_buffer+0x167/0x180
    Modules linked in: joydev iTCO_wdt intel_pmc_bxt iTCO_vendor_support drm_ttm_helper ttm pcspkr serio_raw i2c_i801 i2c_smbus drm_kms_helper virtio_scsi lpc_ich virtio_balloon ...
    9d232469
lockspace.c 20.3 KB