From: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>
To: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>,
Scott Bauer <scott.bauer@intel.com>,
Jonathan Derrick <jonathan.derrick@intel.com>,
Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 4/8] block: sed-opal: unify error handling of responses
Date: Tue, 13 Mar 2018 14:08:57 +0100 [thread overview]
Message-ID: <04455788aa86e6d2e8cd09e24f64c23af5070c08.1520946114.git.jonas.rabenstein@studium.uni-erlangen.de> (raw)
In-Reply-To: <cover.1520946114.git.jonas.rabenstein@studium.uni-erlangen.de>
In-Reply-To: <cover.1520946114.git.jonas.rabenstein@studium.uni-erlangen.de>
Also response_get_token had already been in place, its functionality had
been duplicated within response_get_{u64,bytestring} with the same error
handling. Unify the handling by reusing response_get_token within the
other functions.
Signed-off-by: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>
---
block/sed-opal.c | 28 ++++++++++------------------
1 file changed, 10 insertions(+), 18 deletions(-)
diff --git a/block/sed-opal.c b/block/sed-opal.c
index 22dbea7cf4d1..5a448a3ba1df 100644
--- a/block/sed-opal.c
+++ b/block/sed-opal.c
@@ -698,6 +698,11 @@ static const struct opal_resp_tok *response_get_token(
{
const struct opal_resp_tok *tok;
+ if (!resp) {
+ pr_debug("Response is NULL\n");
+ return ERR_PTR(-EINVAL);
+ }
+
if (n >= resp->num) {
pr_debug("Token number doesn't exist: %d, resp: %d\n",
n, resp->num);
@@ -883,18 +888,10 @@ static size_t response_get_string(const struct parsed_resp *resp, int n,
const struct opal_resp_tok *token;
*store = NULL;
- if (!resp) {
- pr_debug("Response is NULL\n");
+ token = response_get_token(resp, n);
+ if (IS_ERR(token))
return 0;
- }
- if (n > resp->num) {
- pr_debug("Response has %d tokens. Can't access %d\n",
- resp->num, n);
- return 0;
- }
-
- token = &resp->toks[n];
if (token->type != OPAL_DTA_TOKENID_BYTESTRING) {
pr_debug("Token is not a byte string!\n");
return 0;
@@ -922,16 +919,11 @@ static size_t response_get_string(const struct parsed_resp *resp, int n,
static u64 response_get_u64(const struct parsed_resp *resp, int n)
{
- if (!resp) {
- pr_debug("Response is NULL\n");
- return 0;
- }
+ const struct opal_resp_tok *token;
- if (n > resp->num) {
- pr_debug("Response has %d tokens. Can't access %d\n",
- resp->num, n);
+ token = response_get_token(resp, n);
+ if (IS_ERR(token))
return 0;
- }
if (resp->toks[n].type != OPAL_DTA_TOKENID_UINT) {
pr_debug("Token is not unsigned it: %d\n",
--
2.16.1
next prev parent reply other threads:[~2018-03-13 13:09 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 13:08 [PATCH 0/8] block: sed-opal: support write to shadow mbr Jonas Rabenstein
2018-03-13 13:08 ` [PATCH 1/8] block: sed-opal: use correct macro for method length Jonas Rabenstein
2018-03-13 13:08 ` [PATCH 2/8] block: sed-opal: unify space check in add_token_* Jonas Rabenstein
2018-03-13 13:08 ` [PATCH 3/8] block: sed-opal: unify cmd start and finalize Jonas Rabenstein
2018-03-13 15:01 ` Scott Bauer
2018-03-14 6:26 ` [PATCH v2 " Jonas Rabenstein
2018-03-13 13:08 ` Jonas Rabenstein [this message]
2018-03-13 13:08 ` [PATCH 5/8] block: sed-opal: print failed function address Jonas Rabenstein
2018-03-13 13:08 ` [PATCH 6/8] block: sed-opal: split generation of bytestring header and content Jonas Rabenstein
2018-03-13 13:09 ` [PATCH 7/8] block: sed-opal: add ioctl for done-mark of shadow mbr Jonas Rabenstein
2018-03-13 13:09 ` [PATCH 8/8] block: sed-opal: ioctl for writing to " Jonas Rabenstein
2018-03-13 15:44 ` Scott Bauer
2018-03-14 6:15 ` [PATCH v2 8.0/8.4] block: sed-opal: check size of " Jonas Rabenstein
2018-03-14 6:15 ` [PATCH v2 8.1/8.4] block: sed-opal: ioctl for writing to " Jonas Rabenstein
2018-03-14 6:15 ` [PATCH v2 8.2/8.4] block: sed-opal: unify retrieval of table columns Jonas Rabenstein
2018-03-14 6:15 ` [PATCH v2 8.3/8.4] block: sed-opal: get metadata about opal-sed tables Jonas Rabenstein
2018-03-14 6:15 ` [PATCH v2 8.4/8.4] block: sed-opal: check size of shadow mbr Jonas Rabenstein
2018-03-14 19:39 ` [PATCH 8/8] block: sed-opal: ioctl for writing to " kbuild test robot
2018-03-13 15:53 ` [PATCH 0/8] block: sed-opal: support write " Scott Bauer
2018-03-19 18:36 ` [PATCH v2 00/11] block: sed-opal " Jonas Rabenstein
2018-03-19 19:53 ` Christoph Hellwig
2018-03-19 19:33 ` Scott Bauer
2018-03-19 18:36 ` [PATCH v2 01/11] block: sed-opal: use correct macro for method length Jonas Rabenstein
2018-03-19 19:53 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 02/11] block: sed-opal: unify space check in add_token_* Jonas Rabenstein
2018-03-19 19:54 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 03/11] block: sed-opal: unify cmd start and finalize Jonas Rabenstein
2018-03-19 19:57 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 04/11] block: sed-opal: unify error handling of responses Jonas Rabenstein
2018-03-19 19:58 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 05/11] block: sed-opal: print failed function address Jonas Rabenstein
2018-03-19 19:58 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 06/11] block: sed-opal: split generation of bytestring header and content Jonas Rabenstein
2018-03-19 19:59 ` Christoph Hellwig
2018-03-19 19:41 ` Scott Bauer
2018-03-19 18:36 ` [PATCH v2 07/11] block: sed-opal: add ioctl for done-mark of shadow mbr Jonas Rabenstein
2018-03-19 20:00 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 08/11] block: sed-opal: ioctl for writing to " Jonas Rabenstein
2018-03-19 19:52 ` Christoph Hellwig
2018-03-20 9:36 ` Jonas Rabenstein
2018-03-20 22:09 ` Scott Bauer
2018-03-21 1:43 ` Jonas Rabenstein
2018-03-29 17:30 ` Jonas Rabenstein
2018-03-29 17:16 ` Scott Bauer
2018-03-29 18:27 ` catchall
2018-04-05 20:34 ` Scott Bauer
2018-03-19 18:36 ` [PATCH v2 09/11] block: sed-opal: unify retrieval of table columns Jonas Rabenstein
2018-03-19 18:36 ` [PATCH v2 10/11] block: sed-opal: get metadata about opal-sed tables Jonas Rabenstein
2018-03-19 20:01 ` Christoph Hellwig
2018-03-19 18:36 ` [PATCH v2 11/11] block: sed-opal: check size of shadow mbr Jonas Rabenstein
2018-03-19 20:01 ` Christoph Hellwig
2018-03-20 10:02 ` Jonas Rabenstein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=04455788aa86e6d2e8cd09e24f64c23af5070c08.1520946114.git.jonas.rabenstein@studium.uni-erlangen.de \
--to=jonas.rabenstein@studium.uni-erlangen.de \
--cc=axboe@kernel.dk \
--cc=jonathan.derrick@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=scott.bauer@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).