target: simplify the target template registration API
Instead of calling target_fabric_configfs_init() + target_fabric_configfs_register() / target_fabric_configfs_deregister() target_fabric_configfs_free() from every target driver, rewrite the API so that we have simple register/unregister functions that operate on a const operations vector. This patch also fixes a memory leak in several target drivers. Several target drivers namely called target_fabric_configfs_deregister() without calling target_fabric_configfs_free(). A large part of this patch is based on earlier changes from Bart Van Assche <bart.vanassche@sandisk.com>. (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code can declare attributes as either core only or for drivers) Signed-off-by:Christoph Hellwig <hch@lst.de> Signed-off-by:
Nicholas Bellinger <nab@linux-iscsi.org>
Showing
- Documentation/target/tcm_mod_builder.py 12 additions, 67 deletionsDocumentation/target/tcm_mod_builder.py
- drivers/infiniband/ulp/srpt/ib_srpt.c 13 additions, 36 deletionsdrivers/infiniband/ulp/srpt/ib_srpt.c
- drivers/scsi/qla2xxx/qla_target.c 1 addition, 1 deletiondrivers/scsi/qla2xxx/qla_target.c
- drivers/scsi/qla2xxx/tcm_qla2xxx.c 26 additions, 92 deletionsdrivers/scsi/qla2xxx/tcm_qla2xxx.c
- drivers/target/iscsi/iscsi_target.c 15 additions, 8 deletionsdrivers/target/iscsi/iscsi_target.c
- drivers/target/iscsi/iscsi_target.h 1 addition, 1 deletiondrivers/target/iscsi/iscsi_target.h
- drivers/target/iscsi/iscsi_target_configfs.c 59 additions, 121 deletionsdrivers/target/iscsi/iscsi_target_configfs.c
- drivers/target/iscsi/iscsi_target_configfs.h 0 additions, 7 deletionsdrivers/target/iscsi/iscsi_target_configfs.h
- drivers/target/iscsi/iscsi_target_tpg.c 2 additions, 4 deletionsdrivers/target/iscsi/iscsi_target_tpg.c
- drivers/target/loopback/tcm_loop.c 49 additions, 129 deletionsdrivers/target/loopback/tcm_loop.c
- drivers/target/sbp/sbp_target.c 10 additions, 58 deletionsdrivers/target/sbp/sbp_target.c
- drivers/target/target_core_configfs.c 47 additions, 129 deletionsdrivers/target/target_core_configfs.c
- drivers/target/target_core_fabric_configfs.c 26 additions, 12 deletionsdrivers/target/target_core_fabric_configfs.c
- drivers/target/target_core_pr.c 8 additions, 8 deletionsdrivers/target/target_core_pr.c
- drivers/target/target_core_tpg.c 1 addition, 1 deletiondrivers/target/target_core_tpg.c
- drivers/target/target_core_transport.c 3 additions, 3 deletionsdrivers/target/target_core_transport.c
- drivers/target/target_core_xcopy.c 1 addition, 1 deletiondrivers/target/target_core_xcopy.c
- drivers/target/tcm_fc/tcm_fc.h 0 additions, 1 deletiondrivers/target/tcm_fc/tcm_fc.h
- drivers/target/tcm_fc/tfc_conf.c 24 additions, 65 deletionsdrivers/target/tcm_fc/tfc_conf.c
- drivers/usb/gadget/legacy/tcm_usb_gadget.c 9 additions, 48 deletionsdrivers/usb/gadget/legacy/tcm_usb_gadget.c
Loading
Please register or sign in to comment