Re: [PATCH] target_core_mib.h move

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2011-01-22 at 15:49 +0100, Fubo Chen wrote:
> On Tue, Jan 18, 2011 at 10:02 PM, Nicholas A. Bellinger
> <nab@xxxxxxxxxxxxxxx> wrote:
> >
> > Hi again Fubo,
> >
> > If you want to re-generate your driver, please make sure to grab the
> > patch for tcm_mod_builder.py merged into lio-core-2.6.git that
> > uses /Makefile instead of /Kbuild filenames here:
> >
> > target: Convert tcm_mod_builder.py from Kbuild -> Makefile
> > http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=commitdiff;h=3103722a1cf759d475b9ecd9cdb0df523dbf09ab
> >
> > Thanks!
> >
> > --nab
> 
> Thank You for all help !!
> 
> But why sparse confused ? I get this:
> 
> $ make C=2 M=drivers/target modules
>   CHECK   drivers/target/target_core_configfs.c
> drivers/target/target_core_configfs.c:3131:54: warning: Using plain
> integer as NULL pointer
> drivers/target/target_core_configfs.c:3145:50: warning: Using plain
> integer as NULL pointer
> drivers/target/target_core_configfs.c:3212:42: warning: Using plain
> integer as NULL pointer
>   CC [M]  drivers/target/target_core_configfs.o
>   CHECK   drivers/target/target_core_device.c
> drivers/target/target_core_device.c:354:5: warning: context imbalance
> in 'core_update_device_list_for_node' - wrong count at exit
> drivers/target/target_core_device.c:590:13: warning: context imbalance
> in 'core_release_port' - unexpected unlock
> drivers/target/target_core_device.c:800:36: warning: context imbalance
> in 'se_clear_dev_ports' - unexpected unlock
>   CC [M]  drivers/target/target_core_device.o
>   CHECK   drivers/target/target_core_fabric_configfs.c
>   CC [M]  drivers/target/target_core_fabric_configfs.o
>   CHECK   drivers/target/target_core_fabric_lib.c
> drivers/target/target_core_fabric_lib.c:47:4: warning: symbol
> 'sas_get_fabric_proto_ident' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:57:5: warning: symbol
> 'sas_get_pr_transport_id' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:88:5: warning: symbol
> 'sas_get_pr_transport_id_len' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:109:6: warning: symbol
> 'sas_parse_pr_out_transport_id' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:133:4: warning: symbol
> 'fc_get_fabric_proto_ident' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:139:5: warning: symbol
> 'fc_get_pr_transport_id_len' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:153:5: warning: symbol
> 'fc_get_pr_transport_id' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:190:6: warning: symbol
> 'fc_parse_pr_out_transport_id' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:212:4: warning: symbol
> 'iscsi_get_fabric_proto_ident' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:222:5: warning: symbol
> 'iscsi_get_pr_transport_id' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:318:5: warning: symbol
> 'iscsi_get_pr_transport_id_len' was not declared. Should it be static?
> drivers/target/target_core_fabric_lib.c:364:6: warning: symbol
> 'iscsi_parse_pr_out_transport_id' was not declared. Should it be
> static?
>   CC [M]  drivers/target/target_core_fabric_lib.o
>   CHECK   drivers/target/target_core_hba.c
>   CC [M]  drivers/target/target_core_hba.o
>   CHECK   drivers/target/target_core_pr.c
> drivers/target/target_core_pr.c:2003:25: warning: incorrect type in
> assignment (different address spaces)
> drivers/target/target_core_pr.c:2003:25:    expected void [noderef]
> <asn:1>*iov_base
> drivers/target/target_core_pr.c:2003:25:    got unsigned char *
> drivers/target/target_core_pr.c:2011:36: warning: incorrect type in
> argument 2 (different address spaces)
> drivers/target/target_core_pr.c:2011:36:    expected struct iovec
> const [noderef] <asn:1>*<noident>
> drivers/target/target_core_pr.c:2011:36:    got struct iovec *
>   CC [M]  drivers/target/target_core_pr.o
>   CHECK   drivers/target/target_core_alua.c
> drivers/target/target_core_alua.c:647:25: warning: incorrect type in
> assignment (different address spaces)
> drivers/target/target_core_alua.c:647:25:    expected void [noderef]
> <asn:1>*iov_base
> drivers/target/target_core_alua.c:647:25:    got unsigned char *
> drivers/target/target_core_alua.c:652:36: warning: incorrect type in
> argument 2 (different address spaces)
> drivers/target/target_core_alua.c:652:36:    expected struct iovec
> const [noderef] <asn:1>*<noident>
> drivers/target/target_core_alua.c:652:36:    got struct iovec *
>   CC [M]  drivers/target/target_core_alua.o
>   CHECK   drivers/target/target_core_scdb.c
>   CC [M]  drivers/target/target_core_scdb.o
>   CHECK   drivers/target/target_core_tmr.c
>   CC [M]  drivers/target/target_core_tmr.o
>   CHECK   drivers/target/target_core_tpg.c
>   CC [M]  drivers/target/target_core_tpg.o
>   CHECK   drivers/target/target_core_transport.c
> drivers/target/target_core_transport.c:4373:12: warning: function
> 'transport_calc_sg_num' with external linkage has definition
> drivers/target/target_core_transport.c:194:19: warning: symbol
> 'se_mem_cache' was not declared. Should it be static?
>   CC [M]  drivers/target/target_core_transport.o
>   CHECK   drivers/target/target_core_cdb.c
> drivers/target/target_core_cdb.c:1030:1: warning: symbol
> 'transport_emulate_control_cdb' was not declared. Should it be static?
>   CC [M]  drivers/target/target_core_cdb.o
>   CHECK   drivers/target/target_core_ua.c
>   CC [M]  drivers/target/target_core_ua.o
>   CHECK   drivers/target/target_core_rd.c
>   CC [M]  drivers/target/target_core_rd.o
>   CHECK   drivers/target/target_core_mib.c
> drivers/target/target_core_mib.c:70:13: warning: context imbalance in
> 'locate_hba_start' - wrong count at exit
> drivers/target/target_core_mib.c:86:13: warning: context imbalance in
> 'locate_hba_stop' - unexpected unlock
> drivers/target/target_core_mib.c:98:13: warning: context imbalance in
> 'scsi_inst_seq_start' - wrong count at exit
> drivers/target/target_core_mib.c:114:13: warning: context imbalance in
> 'scsi_inst_seq_stop' - unexpected unlock
> drivers/target/target_core_mib.c:577:13: warning: context imbalance in
> 'scsi_auth_intr_seq_start' - wrong count at exit
> drivers/target/target_core_mib.c:589:13: warning: context imbalance in
> 'scsi_auth_intr_seq_stop' - unexpected unlock
> drivers/target/target_core_mib.c:702:13: warning: context imbalance in
> 'scsi_att_intr_port_seq_start' - wrong count at exit
> drivers/target/target_core_mib.c:714:13: warning: context imbalance in
> 'scsi_att_intr_port_seq_stop' - unexpected unlock
>   CC [M]  drivers/target/target_core_mib.o
>   LD [M]  drivers/target/target_core_mod.o
>   CHECK   drivers/target/target_core_iblock.c
> drivers/target/target_core_iblock.c:136:24: warning: Using plain
> integer as NULL pointer
> drivers/target/target_core_iblock.c:145:24: warning: Using plain
> integer as NULL pointer
>   CC [M]  drivers/target/target_core_iblock.o
>   CHECK   drivers/target/target_core_file.c
> drivers/target/target_core_file.c:144:25: warning: incorrect type in
> argument 1 (different address spaces)
> drivers/target/target_core_file.c:144:25:    expected char const
> [noderef] <asn:1>*<noident>
> drivers/target/target_core_file.c:144:25:    got unsigned char *<noident>
> drivers/target/target_core_file.c:304:33: warning: incorrect type in
> assignment (different address spaces)
> drivers/target/target_core_file.c:304:33:    expected void [noderef]
> <asn:1>*iov_base
> drivers/target/target_core_file.c:304:33:    got void *
> drivers/target/target_core_file.c:309:33: warning: incorrect type in
> argument 2 (different address spaces)
> drivers/target/target_core_file.c:309:33:    expected struct iovec
> const [noderef] <asn:1>*<noident>
> drivers/target/target_core_file.c:309:33:    got struct iovec *
> drivers/target/target_core_file.c:354:33: warning: incorrect type in
> assignment (different address spaces)
> drivers/target/target_core_file.c:354:33:    expected void [noderef]
> <asn:1>*iov_base
> drivers/target/target_core_file.c:354:33:    got void *
> drivers/target/target_core_file.c:359:34: warning: incorrect type in
> argument 2 (different address spaces)
> drivers/target/target_core_file.c:359:34:    expected struct iovec
> const [noderef] <asn:1>*<noident>
> drivers/target/target_core_file.c:359:34:    got struct iovec *
>   CC [M]  drivers/target/target_core_file.o
>   CHECK   drivers/target/target_core_pscsi.c
> drivers/target/target_core_pscsi.c:453:17: warning: context imbalance
> in 'pscsi_create_type_disk' - unexpected unlock
> drivers/target/target_core_pscsi.c:499:17: warning: context imbalance
> in 'pscsi_create_type_rom' - unexpected unlock
> drivers/target/target_core_pscsi.c:521:25: warning: context imbalance
> in 'pscsi_create_type_other' - unexpected unlock
> drivers/target/target_core_pscsi.c:544:25: warning: context imbalance
> in 'pscsi_create_virtdevice' - different lock contexts for basic block
>   CC [M]  drivers/target/target_core_pscsi.o
>   Building modules, stage 2.
>   MODPOST 4 modules
> WARNING: modpost: Found 1 section mismatch(es).
> To see full details build your kernel with:
> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>   CC      drivers/target/target_core_file.mod.o
>   LD [M]  drivers/target/target_core_file.ko
>   CC      drivers/target/target_core_iblock.mod.o
>   LD [M]  drivers/target/target_core_iblock.ko
>   LD [M]  drivers/target/target_core_mod.ko
>   CC      drivers/target/target_core_pscsi.mod.o
>   LD [M]  drivers/target/target_core_pscsi.ko
> 
> 
> 

Hi Fubo,

The patch to convert 'int var:1' to 'bool var:1' in target_core_base.h
and fix one of the specific sparse warning was commited from Dan
Carpenter into linus-38-rc1:

http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=commitdiff;h=daf0bd7aa57e14b903c81761b421e1130f12b7d1

While most of the other sparse warnings above appear to be false
positives AFAICT, there are additional two patches that have been pushed
into the new lio-core-2.6.git/linus-38-rc2, and will be hitting the list
shortly.

Thanks for your head-ups on the sparse fixes, and please let us know if
you see any other items that need to be considered.

Best Regards,

--nab

> 
> My patch:
> 
> diff --git a/include/target/target_core_base.h
> b/include/target/target_core_base.h
> index 07fdfb6..4139bf0 100644
> --- a/include/target/target_core_base.h
> +++ b/include/target/target_core_base.h
> @@ -225,7 +225,7 @@ struct t10_alua_lu_gp {
>  } ____cacheline_aligned;
> 
>  struct t10_alua_lu_gp_member {
> -	int lu_gp_assoc:1;
> +	int lu_gp_assoc;
>  	atomic_t lu_gp_mem_ref_cnt;
>  	spinlock_t lu_gp_mem_lock;
>  	struct t10_alua_lu_gp *lu_gp;
> @@ -257,7 +257,7 @@ struct t10_alua_tg_pt_gp {
>  } ____cacheline_aligned;
> 
>  struct t10_alua_tg_pt_gp_member {
> -	int tg_pt_gp_assoc:1;
> +	int tg_pt_gp_assoc;
>  	atomic_t tg_pt_gp_mem_ref_cnt;
>  	spinlock_t tg_pt_gp_mem_lock;
>  	struct t10_alua_tg_pt_gp *tg_pt_gp;
> @@ -322,7 +322,7 @@ struct t10_pr_registration {
>  	int pr_res_type;
>  	int pr_res_scope;
>  	/* Used for fabric initiator WWPNs using a ISID */
> -	int isid_present_at_reg:1;
> +	int isid_present_at_reg;
>  	u32 pr_res_mapped_lun;
>  	u32 pr_aptpl_target_lun;
>  	u32 pr_res_generation;
> @@ -404,7 +404,7 @@ struct se_transport_task {
>  	unsigned long long	t_task_lba;
>  	int			t_tasks_failed;
>  	int			t_tasks_fua;
> -	int			t_tasks_bidi:1;
> +	int			t_tasks_bidi;
>  	u32			t_task_cdbs;
>  	u32			t_tasks_check;
>  	u32			t_tasks_no;
> @@ -456,7 +456,7 @@ struct se_task {
>  	u8		task_flags;
>  	int		task_error_status;
>  	int		task_state_flags;
> -	int		task_padded_sg:1;
> +	int		task_padded_sg;
>  	unsigned long long	task_lba;
>  	u32		task_no;
>  	u32		task_sectors;
> @@ -569,7 +569,7 @@ struct se_ua {
>  struct se_node_acl {
>  	char			initiatorname[TRANSPORT_IQN_LEN];
>  	/* Used to signal demo mode created ACL, disabled by default */
> -	int			dynamic_node_acl:1;
> +	int			dynamic_node_acl;
>  	u32			queue_depth;
>  	u32			acl_index;
>  	u64			num_cmds;
> @@ -622,7 +622,7 @@ struct se_lun_acl {
>  }  ____cacheline_aligned;
> 
>  struct se_dev_entry {
> -	int			def_pr_registered:1;
> +	int			def_pr_registered;
>  	/* See transport_lunflags_table */
>  	u32			lun_flags;
>  	u32			deve_cmds;
> diff --git a/include/target/target_core_fabric_ops.h
> b/include/target/target_core_fabric_ops.h
> index f3ac12b..997c45f 100644
> --- a/include/target/target_core_fabric_ops.h
> +++ b/include/target/target_core_fabric_ops.h
> @@ -8,7 +8,7 @@ struct target_core_fabric_ops {
>  	 * for scatterlist chaining using transport_do_task_sg_link(),
>  	 * disabled by default
>  	 */
> -	int task_sg_chaining:1;
> +	int task_sg_chaining;
>  	char *(*get_fabric_name)(void);
>  	u8 (*get_fabric_proto_ident)(struct se_portal_group *);
>  	char *(*tpg_get_wwn)(struct se_portal_group *);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux