Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7713412imu; Tue, 22 Jan 2019 10:18:07 -0800 (PST) X-Google-Smtp-Source: ALg8bN5k0bOlB/slr0MSvUU7GQ1SuJNJJoMGdoaqtBLaRc+eqc8TCwvdeify1Gw9vR+RzkLumdRg X-Received: by 2002:a63:df13:: with SMTP id u19mr33097180pgg.294.1548181087335; Tue, 22 Jan 2019 10:18:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548181087; cv=none; d=google.com; s=arc-20160816; b=OERNI0L7zf5K/4yo/X67dSg90liw476J2mJCgExMMteSeCArl6pM1y4jXJstENW9wk Nu7KQYa80BnJOsG3jMDNAdGDUw+DSWM6IW1VJNtTTGRFUOYBcs6JPGpB6puUsnG/44Kj d631P0df8q4/DZIHRYtfymvT+esjEAxNpqPjlWAnNua+R6vqGSZ60JAXrCffZ40TwByR 5Gh1/jckO11Tg6UuiumGcRg3pH0/0m7hhQIuKs8YTDzk5ZNID0Sm+AUfT+I1BMB/CEPE gcUHGWg9EvluauWTZIH9yX6/8Gdm1XveziKHFO3ljfRCeQd7l53OJ2RFcpDgSIAnzxia 3fig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=Ho/gEYNoSYlVlb5aEUXgao9yE3PKxp739/gRxBSugLw=; b=niQTliJIpc+0eLTbGiAcYu3KfVjIZuEkXVxx4iWSMbBLpa0OHjmRLp3TP3i1htNARU FBz9Lbu5x62pw9J7DF2nSfXiuEWtRtMrPLsZPIV7Nlzi8aq5gPocAN+BPDPGcwY76qud LPk2KUsPTfBKeZDjARSz06PwEkwkPeTGzxDSUFLoB27FNniAZNslhR1xNOz6QHa4hQD/ VGB800ET9Vi7QvCPsY4vL89msBi7O+Nn3n/+JxeYseBkSCNKXxIhcFBvH5hgettJ0Ku3 r740nvd283eDnjSJsCOMBMh0a7qv6zVpFZXrI0PJG9GygsMGZ0/Z/hA5TQysvkLOXeDK 2Rvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cisco.com header.s=iport header.b=mLuins3B; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=cisco.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w23si16161854plq.198.2019.01.22.10.17.50; Tue, 22 Jan 2019 10:18:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@cisco.com header.s=iport header.b=mLuins3B; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=cisco.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726874AbfAVSPK (ORCPT + 99 others); Tue, 22 Jan 2019 13:15:10 -0500 Received: from alln-iport-4.cisco.com ([173.37.142.91]:56061 "EHLO alln-iport-4.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726832AbfAVSPH (ORCPT ); Tue, 22 Jan 2019 13:15:07 -0500 X-Greylist: delayed 573 seconds by postgrey-1.27 at vger.kernel.org; Tue, 22 Jan 2019 13:15:06 EST DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10059; q=dns/txt; s=iport; t=1548180906; x=1549390506; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=VVLUtUTfuG7rr8+82upZObDyjdmmuhELBaZ97CzohQk=; b=mLuins3B3ZXaUBxMD0tEpuYTOGouvCFecgWEQi5tkmSl1cLrej3NUtwu KjJZyXF75yQ01NJjtcElgtiQIyPNar4x3073Q9mXcnUsctWVyWxUWuDxr HvjEcPawJp5vVbGvwRN/fd8ahn/G/i3qXuUWay1qjOX7GjtvzSQlqvunt M=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ADAADpWkdc/40NJK1jGQEBAQEBAQE?= =?us-ascii?q?BAQEBAQcBAQEBAQGBUQQBAQEBAQsBggNmgQInCowRi2yCDZgBgXsLAQEfhE0?= =?us-ascii?q?Cgm0iNAkNAQMBAQIBAQJtHAyFSgEBAQEDJxM/DAQCAQgRBAEBHxAyHQgCBAE?= =?us-ascii?q?NBQiDG4IBrjEziiqMQReBQD+BEYMSimECiVsKhiWBWJA+CQKHIopvIII0j2A?= =?us-ascii?q?tiVeQcgIRFIEnHziBVnAVgycJgh4XE4QriWBBMYl4gR8BAQ?= X-IronPort-AV: E=Sophos;i="5.56,507,1539648000"; d="scan'208";a="229600963" Received: from alln-core-8.cisco.com ([173.36.13.141]) by alln-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jan 2019 18:05:31 +0000 Received: from XCH-ALN-015.cisco.com (xch-aln-015.cisco.com [173.36.7.25]) by alln-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id x0MI5V6e006796 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 22 Jan 2019 18:05:31 GMT Received: from xch-rcd-012.cisco.com (173.37.102.22) by XCH-ALN-015.cisco.com (173.36.7.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 22 Jan 2019 12:05:31 -0600 Received: from xch-rcd-012.cisco.com ([173.37.102.22]) by XCH-RCD-012.cisco.com ([173.37.102.22]) with mapi id 15.00.1395.000; Tue, 22 Jan 2019 12:05:31 -0600 From: "Satish Kharat (satishkh)" To: Greg Kroah-Hartman , James Bottomley , Martin Petersen CC: "linux-kernel@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "Sesidhar Baddela (sebaddel)" , "Karan Tilak Kumar (kartilak)" Subject: RE: [PATCH 3/7] scsi: fnic: no need to check return value of debugfs_create functions Thread-Topic: [PATCH 3/7] scsi: fnic: no need to check return value of debugfs_create functions Thread-Index: AQHUsmR5/nkdgIvf/U6JwZrlfe277aW7k81g Date: Tue, 22 Jan 2019 18:05:30 +0000 Message-ID: References: <20190122150906.12470-1-gregkh@linuxfoundation.org> <20190122150906.12470-4-gregkh@linuxfoundation.org> In-Reply-To: <20190122150906.12470-4-gregkh@linuxfoundation.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.157.132.77] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Outbound-SMTP-Client: 173.36.7.25, xch-aln-015.cisco.com X-Outbound-Node: alln-core-8.cisco.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Looks good to me. Acked-by: Satish Kharat Satish Kharat TECHNICAL LEADER.ENGINEERING satishkh@cisco.com -----Original Message----- From: Greg Kroah-Hartman =20 Sent: Tuesday, January 22, 2019 7:09 AM To: James Bottomley ; Martin Petersen Cc: linux-kernel@vger.kernel.org; linux-scsi@vger.kernel.org; Greg Kroah-Ha= rtman ; Satish Kharat (satishkh) ; Sesidhar Baddela (sebaddel) ; Karan Tilak Kumar= (kartilak) Subject: [PATCH 3/7] scsi: fnic: no need to check return value of debugfs_c= reate functions When calling debugfs functions, there is no need to ever check the return v= alue. The function can work or not, but the code logic should never do som= ething different based on this. Cc: Satish Kharat Cc: Sesidhar Baddela Cc: Karan Tilak Kumar Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/fnic/fnic_debugfs.c | 88 ++------------------------------ drivers/scsi/fnic/fnic_main.c | 7 +-- drivers/scsi/fnic/fnic_stats.h | 2 +- drivers/scsi/fnic/fnic_trace.c | 17 ++---- drivers/scsi/fnic/fnic_trace.h | 4 +- 5 files changed, 10 insertions(+), 108 deletions(-) diff --git a/drivers/scsi/fnic/fnic_debugfs.c b/drivers/scsi/fnic/fnic_debu= gfs.c index 139fffa3658a..21991c99db7c 100644 --- a/drivers/scsi/fnic/fnic_debugfs.c +++ b/drivers/scsi/fnic/fnic_debugfs.c @@ -54,23 +54,9 @@ int fnic_debugfs_init(void) { int rc =3D -1; fnic_trace_debugfs_root =3D debugfs_create_dir("fnic", NULL); - if (!fnic_trace_debugfs_root) { - printk(KERN_DEBUG "Cannot create debugfs root\n"); - return rc; - } - - if (!fnic_trace_debugfs_root) { - printk(KERN_DEBUG - "fnic root directory doesn't exist in debugfs\n"); - return rc; - } =20 fnic_stats_debugfs_root =3D debugfs_create_dir("statistics", fnic_trace_debugfs_root); - if (!fnic_stats_debugfs_root) { - printk(KERN_DEBUG "Cannot create Statistics directory\n"); - return rc; - } =20 /* Allocate memory to structure */ fc_trc_flag =3D (struct fc_trace_flag_type *) @@ -356,39 +342,19 @@ stati= c const struct file_operations fnic_trace_debugfs_fops =3D { * it will also create file trace_enable to control enable/disable of * trace logging into trace buffer. */ -int fnic_trace_debugfs_init(void) +void fnic_trace_debugfs_init(void) { - int rc =3D -1; - if (!fnic_trace_debugfs_root) { - printk(KERN_DEBUG - "FNIC Debugfs root directory doesn't exist\n"); - return rc; - } fnic_trace_enable =3D debugfs_create_file("tracing_enable", S_IFREG|S_IRUGO|S_IWUSR, fnic_trace_debugfs_root, &(fc_trc_flag->fnic_trace), &fnic_trace_ctrl_fops); =20 - if (!fnic_trace_enable) { - printk(KERN_DEBUG - "Cannot create trace_enable file under debugfs\n"); - return rc; - } - fnic_trace_debugfs_file =3D debugfs_create_file("trace", S_IFREG|S_IRUGO|S_IWUSR, fnic_trace_debugfs_root, &(fc_trc_flag->fnic_trace), &fnic_trace_debugfs_fops); - - if (!fnic_trace_debugfs_file) { - printk(KERN_DEBUG - "Cannot create trace file under debugfs\n"); - return rc; - } - rc =3D 0; - return rc; } =20 /* @@ -419,37 +385,20 @@ void fnic_trace_debugfs_terminate(void) * trace logging into trace buffer. */ =20 -int fnic_fc_trace_debugfs_init(void) +void fnic_fc_trace_debugfs_init(void) { - int rc =3D -1; - - if (!fnic_trace_debugfs_root) { - pr_err("fnic:Debugfs root directory doesn't exist\n"); - return rc; - } - fnic_fc_trace_enable =3D debugfs_create_file("fc_trace_enable", S_IFREG|S_IRUGO|S_IWUSR, fnic_trace_debugfs_root, &(fc_trc_flag->fc_trace), &fnic_trace_ctrl_fops); =20 - if (!fnic_fc_trace_enable) { - pr_err("fnic: Failed create fc_trace_enable file\n"); - return rc; - } - fnic_fc_trace_clear =3D debugfs_create_file("fc_trace_clear", S_IFREG|S_IRUGO|S_IWUSR, fnic_trace_debugfs_root, &(fc_trc_flag->fc_clear), &fnic_trace_ctrl_fops); =20 - if (!fnic_fc_trace_clear) { - pr_err("fnic: Failed to create fc_trace_enable file\n"); - return rc; - } - fnic_fc_rdata_trace_debugfs_file =3D debugfs_create_file("fc_trace_rdata", S_IFREG|S_IRUGO|S_IWUSR, @@ -457,24 +406,12 @@ int fnic_fc_trace_debugfs_init(void) &(fc_trc_flag->fc_normal_file), &fnic_trace_debugfs_fops); =20 - if (!fnic_fc_rdata_trace_debugfs_file) { - pr_err("fnic: Failed create fc_rdata_trace file\n"); - return rc; - } - fnic_fc_trace_debugfs_file =3D debugfs_create_file("fc_trace", S_IFREG|S_IRUGO|S_IWUSR, fnic_trace_debugfs_root, &(fc_trc_flag->fc_row_file), &fnic_trace_debugfs_fops); - - if (!fnic_fc_trace_debugfs_file) { - pr_err("fnic: Failed to create fc_trace file\n"); - return rc; - } - rc =3D 0; - return rc; } =20 /* @@ -757,45 +694,26 @@ static const struct file_operations fnic_reset_debugf= s_fops =3D { * It will create file stats and reset_stats under statistics/host# direct= ory * to log per fnic stats. */ -int fnic_stats_debugfs_init(struct fnic *fnic) +void fnic_stats_debugfs_init(struct fnic *fnic) { - int rc =3D -1; char name[16]; =20 snprintf(name, sizeof(name), "host%d", fnic->lport->host->host_no); =20 - if (!fnic_stats_debugfs_root) { - printk(KERN_DEBUG "fnic_stats root doesn't exist\n"); - return rc; - } fnic->fnic_stats_debugfs_host =3D debugfs_create_dir(name, fnic_stats_debugfs_root); - if (!fnic->fnic_stats_debugfs_host) { - printk(KERN_DEBUG "Cannot create host directory\n"); - return rc; - } =20 fnic->fnic_stats_debugfs_file =3D debugfs_create_file("stats", S_IFREG|S_IRUGO|S_IWUSR, fnic->fnic_stats_debugfs_host, fnic, &fnic_stats_debugfs_fops); - if (!fnic->fnic_stats_debugfs_file) { - printk(KERN_DEBUG "Cannot create host stats file\n"); - return rc; - } =20 fnic->fnic_reset_debugfs_file =3D debugfs_create_file("reset_stats", S_IFREG|S_IRUGO|S_IWUSR, fnic->fnic_stats_debugfs_host, fnic, &fnic_reset_debugfs_fops); - if (!fnic->fnic_reset_debugfs_file) { - printk(KERN_DEBUG "Cannot create host stats file\n"); - return rc; - } - rc =3D 0; - return rc; } =20 /* diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c = index 5b3534b0deda..cc8f7c82e2ba 100644 --- a/drivers/scsi/fnic/fnic_main.c +++ b/drivers/scsi/fnic/fnic_main.c @@ -578,12 +578,7 @@ static int fnic_probe(struct pci_dev *pdev, const stru= ct pci_device_id *ent) =20 host->transportt =3D fnic_fc_transport; =20 - err =3D fnic_stats_debugfs_init(fnic); - if (err) { - shost_printk(KERN_ERR, fnic->lport->host, - "Failed to initialize debugfs for stats\n"); - fnic_stats_debugfs_remove(fnic); - } + fnic_stats_debugfs_init(fnic); =20 /* Setup PCI resources */ pci_set_drvdata(pdev, fnic); diff --git a/drivers/scsi/fnic/fnic_stats.h b/drivers/scsi/fnic/fnic_stats.= h index 9daa6ada6fa0..09c3f864c1cf 100644 --- a/drivers/scsi/fnic/fnic_stats.h +++ b/drivers/scsi/fnic/fnic_stats.h @@ -134,6 +134,6 @@ struct stats_debug_info { }; =20 int fnic_get_stats_data(struct stats_debug_info *, struct fnic_stats *); -= int fnic_stats_debugfs_init(struct fnic *); +void fnic_stats_debugfs_init(struct fnic *); void fnic_stats_debugfs_remove(struct fnic *); #endif /* _FNIC_STATS_H_ *= / diff --git a/drivers/scsi/fnic/fnic_trace.c b/drivers/scsi/fnic/fnic_trac= e.c index bf0fd2aeb92e..c08eda9ef086 100644 --- a/drivers/scsi/fnic/fnic_trace.c +++ b/drivers/scsi/fnic/fnic_trace.c @@ -503,15 +503,10 @@ int fnic_trace_buf_init(void) fnic_trace_entries.page_offset[i] =3D fnic_buf_head; fnic_buf_head +=3D FNIC_ENTRY_SIZE_BYTES; } - err =3D fnic_trace_debugfs_init(); - if (err < 0) { - pr_err("fnic: Failed to initialize debugfs for tracing\n"); - goto err_fnic_trace_debugfs_init; - } + fnic_trace_debugfs_init(); pr_info("fnic: Successfully Initialized Trace Buffer\n"); return err; -err_fnic_trace_debugfs_init: - fnic_trace_free(); + err_fnic_trace_buf_init: return err; } @@ -596,16 +591,10 @@ int fnic_fc_trace_init(void) fc_trace_entries.page_offset[i] =3D fc_trace_buf_head; fc_trace_buf_head +=3D FC_TRC_SIZE_BYTES; } - err =3D fnic_fc_trace_debugfs_init(); - if (err < 0) { - pr_err("fnic: Failed to initialize FC_CTLR tracing.\n"); - goto err_fnic_fc_ctlr_trace_debugfs_init; - } + fnic_fc_trace_debugfs_init(); pr_info("fnic: Successfully Initialized FC_CTLR Trace Buffer\n"); return err; =20 -err_fnic_fc_ctlr_trace_debugfs_init: - fnic_fc_trace_free(); err_fnic_fc_ctlr_trace_buf_init: return err; } diff --git a/drivers/scsi/fnic/fnic_trace.h b/drivers/scsi/fnic/fnic_trace.= h index e375d0c2eaaf..8aa55c1e2025 100644 --- a/drivers/scsi/fnic/fnic_trace.h +++ b/drivers/scsi/fnic/fnic_trace.h @@ -111,7 +111,7 @@ int fnic_trace_buf_init(void); void fnic_trace_free(vo= id); int fnic_debugfs_init(void); void fnic_debugfs_terminate(void); -int= fnic_trace_debugfs_init(void); +void fnic_trace_debugfs_init(void); void fnic_trace_debugfs_terminate(void); =20 /* Fnic FC CTLR Trace releated function */ @@ -123,7 +123,7 @@ int fnic_fc= _trace_get_data(fnic_dbgfs_t *fnic_dbgfs_prt, u8 rdata_flag); void copy_an= d_format_trace_data(struct fc_trace_hdr *tdata, fnic_dbgfs_t *fnic_dbgfs_prt, int *len, u8 rdata_flag); -int fnic_fc_trace_debugfs_init(void); +void fnic_fc_trace_debugfs_init(void); void fnic_fc_trace_debugfs_terminate(void); =20 #endif -- 2.20.1