From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lrxjb-00074t-Eh for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:08:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LrxjW-0006yF-S7 for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:08:14 -0400 Received: from [199.232.76.173] (port=40063 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LrxjW-0006y8-GU for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:08:10 -0400 Received: from mo-p00-ob.rzone.de ([81.169.146.160]:51114) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LrxjW-0000og-0z for qemu-devel@nongnu.org; Thu, 09 Apr 2009 13:08:10 -0400 From: Kevin Wolf Subject: Re: [Qemu-devel] [PATCH] qemu-io: Verify read data by patterns Date: Thu, 9 Apr 2009 19:07:45 +0200 References: <1239284776-2115-1-git-send-email-kwolf@redhat.com> <20090409153314.GB22492@lst.de> In-Reply-To: <20090409153314.GB22492@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200904091907.45921@kevin-wolf.de> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Christoph Hellwig Am Donnerstag, 9. April 2009 17:33 schrieb Christoph Hellwig: > On Thu, Apr 09, 2009 at 03:46:16PM +0200, Kevin Wolf wrote: > > This patch adds a -P option to read and readv which allows to compare the > > read data to a given pattern. This can be used to verify data written by > > write -P. > > Very good, I was doing this manually in my WIP testsuite, but having > qemu-io do this is even better. Is this testsuite available anywhere, like a git repo? I'm going to continue testing and debugging qcow2 next week and I'd rather avoid doing things you're already working on. Oh, and thanks for qemu-io. It's a great tool for that work. > > " -q, -- quite mode, do not show I/O statistics\n" > > @@ -207,8 +208,10 @@ read_f(int argc, char **argv) > > char *buf; > > int64_t offset; > > int count, total; > > + int pattern = 0; > > + int use_pattern = 0; > > > > - while ((c = getopt(argc, argv, "Cpqv")) != EOF) { > > + while ((c = getopt(argc, argv, "CpP:qv")) != EOF) { > > switch (c) { > > case 'C': > > Cflag = 1; > > @@ -216,6 +219,10 @@ read_f(int argc, char **argv) > > case 'p': > > pflag = 1; > > break; > > + case 'P': > > + use_pattern = 1; > > Following the conventions this variable would be called Pflag, but I'm > not dead set on this. (The conventions come from the original xfs_io > tool) I considered that, but actually it's not a simple flag anymore as soon as it has a parameter. Don't know, you could argue either way. > > + if (use_pattern) { > > + void* cmp_buf = malloc(count); > > + memset(cmp_buf, pattern, count); > > + if (memcmp(buf, cmp_buf, count)) { > > + printf("Pattern verification failed at offset %lld, %d bytes\n", > > + (long long) offset, count); > > + } > > Can we keep the line shorter than 80 characters? This is what you get for using tabs. You deserve it. ;-) Seriously, I found this really annoying when I did the patch because almost everything else in qemu has four spaces and I needed to change my editor settings for just this file. But I still left indentation on four characters, so this line did fit for me. I can either send a second version of the patch which fixes this line, or we could have a patch which changes the indentation of the whole file to four spaces (as specified in the coding style document). qemu-io might be new enough to not destroy valuable svn blame information with such a patch. Kevin