All of lore.kernel.org
 help / color / mirror / Atom feed
From: ira.weiny@intel.com
To: fstests@vger.kernel.org, Eryu Guan <guaneryu@gmail.com>
Cc: john.hubbard@gmail.com, Dave Chinner <david@fromorbit.com>,
	Jan Kara <jack@suse.cz>, Jason Gunthorpe <jgg@ziepe.ca>,
	dan.j.williams@intel.com, Jeff Layton <jlayton@kernel.org>,
	Ira Weiny <ira.weiny@intel.com>
Subject: [PATCH V2 05/16] src/locktest.c: Clean up client command passing
Date: Mon, 23 Sep 2019 10:51:53 -0700	[thread overview]
Message-ID: <20190923175204.2139-6-ira.weiny@intel.com> (raw)
In-Reply-To: <20190923175204.2139-1-ira.weiny@intel.com>

From: Ira Weiny <ira.weiny@intel.com>

The client was using the test index rather than the values being passed
to it for a command.  While this technically worked it is cleaner to
fully initialize the command message and use the values in that message.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 src/locktest.c | 36 +++++++++++++++++++++++-------------
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/locktest.c b/src/locktest.c
index 825d9df3ddf8..3abb91120144 100644
--- a/src/locktest.c
+++ b/src/locktest.c
@@ -670,6 +670,17 @@ int do_close(void)
     return PASS;
 }
 
+static void init_ctl(int32_t index)
+{
+    ctl.test= (int32_t)tests[index][TEST_NUM];
+    ctl.command = (int32_t)tests[index][COMMAND];
+    ctl.offset = tests[index][OFFSET];
+    ctl.length = tests[index][LENGTH];
+    ctl.index = index;
+    ctl.result = (int32_t)tests[index][RESULT];
+    ctl.error = 0;
+}
+
 void
 send_ctl(void)
 {
@@ -1018,6 +1029,8 @@ main(int argc, char *argv[])
 		    ctl.test = 0;
 		    end=1;
 		} 
+		/* get the client to do something */
+		init_ctl(index);
 		if(debug > 1)
 		    fprintf(stderr, "Sending command to client (%d) - %s - %lld:%lld\n", 
 					index,
@@ -1074,20 +1087,16 @@ main(int argc, char *argv[])
 		end = 1;
 		break;
 	    }
-		
 
-	    ctl.command = tests[index][COMMAND];
-	    ctl.offset = tests[index][OFFSET];
-	    ctl.length = tests[index][LENGTH];
-	    switch(tests[index][COMMAND]) {
+	    switch(ctl.command) {
 		case CMD_WRLOCK:
-		    result = do_lock(F_SETLK, F_WRLCK, tests[index][OFFSET], tests[index][LENGTH]);
+		    result = do_lock(F_SETLK, F_WRLCK, ctl.offset, ctl.length);
 		    break;
 		case CMD_RDLOCK:
-		    result = do_lock(F_SETLK, F_RDLCK, tests[index][OFFSET], tests[index][LENGTH]);
+		    result = do_lock(F_SETLK, F_RDLCK, ctl.offset, ctl.length);
 		    break;
 		case CMD_UNLOCK:
-		    result = do_lock(F_SETLK, F_UNLCK, tests[index][OFFSET], tests[index][LENGTH]);
+		    result = do_lock(F_SETLK, F_UNLCK, ctl.offset, ctl.length);
 		    break;
 		case CMD_CLOSE:
 		    result = do_close();
@@ -1096,21 +1105,22 @@ main(int argc, char *argv[])
 		    result = do_open(tests[index][FLAGS]);
 		    break;
 		case CMD_WRTEST:
-		    result = do_lock(F_GETLK, F_WRLCK, tests[index][OFFSET], tests[index][LENGTH]);
+		    result = do_lock(F_GETLK, F_WRLCK, ctl.offset, ctl.length);
 		    break;
 		case CMD_RDTEST:
-		    result = do_lock(F_GETLK, F_RDLCK, tests[index][OFFSET], tests[index][LENGTH]);
+		    result = do_lock(F_GETLK, F_RDLCK, ctl.offset, ctl.length);
 		    break;
 	    }
-	    if( result != tests[index][RESULT] ) {
+	    if( result != ctl.result ) {
 		if(debug)
-		    fprintf(stderr,"Got %d, wanted %lld\n", result,
-					(long long)tests[index][RESULT]);
+		    fprintf(stderr,"Got %d, wanted %d\n",
+				result, ctl.result);
 		ctl.result = FAIL;
 		ctl.error = saved_errno;
 		fail_count++;
 	    } else {
 		ctl.result = PASS;
+		ctl.error = 0;
 	    }
 	    if(debug > 2)
 		fprintf(stderr,"client: sending result to server (%d)\n", ctl.index);
-- 
2.20.1

  parent reply	other threads:[~2019-09-23 17:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-23 17:51 [PATCH V2 00/16] Fix locktest and add lease testing to it ira.weiny
2019-09-23 17:51 ` [PATCH V2 01/16] src/locktest: Remove unnecessary sleep ira.weiny
2019-09-23 17:51 ` [PATCH V2 02/16] src/locktest: Remove OPEN macro ira.weiny
2019-09-23 17:51 ` [PATCH V2 03/16] src/locktest: Change command macro names ira.weiny
2019-09-23 17:51 ` [PATCH V2 04/16] src/locktest: Add get_cmd_str ira.weiny
2019-09-23 17:51 ` ira.weiny [this message]
2019-09-23 17:51 ` [PATCH V2 06/16] src/locktest.c: Fix return code if last test fails ira.weiny
2019-09-23 17:51 ` [PATCH V2 07/16] generic/131: Clean up pid variables ira.weiny
2019-09-23 17:51 ` [PATCH V2 08/16] generic/131: Save stderr for debugging ira.weiny
2019-09-23 17:51 ` [PATCH V2 09/16] src/locktest: Clean up error output ira.weiny
2019-09-23 17:51 ` [PATCH V2 10/16] src/locktest: Audit all debug output ira.weiny
2019-09-23 17:51 ` [PATCH V2 11/16] src/locktest: Add run() function ira.weiny
2019-09-23 17:58 ` [PATCH V2 00/16] Fix locktest and add lease testing to it Ira Weiny
  -- strict thread matches above, loose matches on Subject: below --
2019-09-23 17:53 ira.weiny
2019-09-23 17:53 ` [PATCH V2 05/16] src/locktest.c: Clean up client command passing ira.weiny

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=20190923175204.2139-6-ira.weiny@intel.com \
    --to=ira.weiny@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=david@fromorbit.com \
    --cc=fstests@vger.kernel.org \
    --cc=guaneryu@gmail.com \
    --cc=jack@suse.cz \
    --cc=jgg@ziepe.ca \
    --cc=jlayton@kernel.org \
    --cc=john.hubbard@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.