• Robert Love's avatar
    [SCSI] libfcoe: Remove unnecessary module state checks · d85e607b
    Robert Love authored
    libfcoe's interface consists of create, destroy, enable,
    disable and create_vn2vn. These are currently module
    paramaters added durring the module initialization. A
    concern arose that the module parameters were being added
    with write permissions before the module had completed
    initialization. The following code was added to each
    sysfs store file.
    
    * Make sure the module has been initialized, and is not about to be
    * removed.  Module parameter sysfs files are writable before the
    * module_init function is called and after module_exit.
    */
    if (THIS_MODULE->state != MODULE_STATE_LIVE)
        goto out_nodev;
    
    This check was called out as unhelpful as the module can
    go dead at any time and therefore its state isn't a reliable
    thing to look at as a sign of stability and initialization
    completion. Also, that functional interfaces like these
    should be added after module initialization.
    
    This patch removes the unnecessary checks and hopes to
    disprove the concern about initialization ordering.
    
    Recent fcoe transport rework changes now require fcoe
    transports to register with libfcoe before any operation
    can take place. libfcoe may access some static variables
    but nothing that could cause a problem. Once a fcoe transport
    is registered, libfcoe is usable and any interface calls will
    be functional.
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
    Signed-off-by: default avatarJames Bottomley <jbottomley@parallels.com>
    d85e607b
fcoe_transport.c 18.4 KB