All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pat LaVarre <p.lavarre@ieee.org>
To: linux-fsdevel@vger.kernel.org
Subject: Re: zeroes read back more often than appended
Date: 20 Oct 2003 17:20:50 -0600	[thread overview]
Message-ID: <1066692050.2814.33.camel@patehci2> (raw)
In-Reply-To: <1066096137.3314.32.camel@patehci2>

Specifically next I hope to show that appending nonzero bytes to
multiple open files reads back wrong.

Seemingly as yet I have some tupographical errors in the following.

With nonzero dd seek and SMP on and PREEMPT on in -test8, initially I
see:
198 whd: whd.c:45: main: Assertion `rc == width' failed.

Pat LaVarre

--- whd.c

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static FILE * fi[1234];

int main(int argc, char * argv[]) // 0xFF600 0xC8
{
	int width;
	int height;
	int depth;
	char * chars;
	char nonzero;
	int h;
	int d;
	int rc;

	--argc; ++argv;
	assert(argc == 3);
	rc = sscanf(argv[0], "0x%X", &width);
	assert(rc == 1);
	rc = sscanf(argv[1], "0x%X", &height);
	assert(rc == 1);
	rc = sscanf(argv[1], "0x%X", &depth);
	assert(rc == 1);
	assert(depth < (sizeof fi / sizeof fi[0]));

	nonzero = '\xAA';
	chars = malloc(width);
	assert(chars != NULL);
	memset(&chars[0], nonzero, width);

	for (d = 0; d < depth; ++d) {
		char st[123];
		sprintf(&st[0], "whd%d.bin", d);
		fi[d] = fopen(&st[0], "wb");
		assert(fi[d] != NULL);
	}

	for (h = 0; h < height; ++h) {
		fprintf(stderr, "\r%d ", height - h - 1);
		for (d = 0; d < depth; ++d) {
			rc = fwrite(chars, 1, width, fi[d]);
			assert(rc == width);
		}
	}

	for (d = 0; d < depth; ++d) {
		rc = fclose(fi[d]);
		assert(rc == 0);
	}

	fprintf(stderr, "\n");

	for (d = 0; d < depth; ++d) {
		char st[123];
		sprintf(&st[0], "hexdump -C whd%d.bin | head -3", d);
		fprintf(stderr, "%s\n", st);
		(void) system(st);
	}

	return 0;
}

--- udfwhd

#!/bin/bash

uname -msr
pwd
rm dd.bin
cmd='dd if=/dev/zero of=dd.bin bs=1M seek=0 count=256'
cmd='dd if=/dev/zero of=dd.bin bs=1M seek=255 count=1'
echo "$cmd 2>/dev/null"
$cmd 2>/dev/null
ls -l dd.bin

sudo losetup /dev/loop0 dd.bin
sudo $1 2>&1 | head -1
sudo $1 /dev/loop0 >/dev/null

sudo mount /dev/loop0 /mnt/loop0
sudo chown `id -u`:`id -g` /mnt/loop0/.
dmesg >1.dmesg
cd /mnt/loop0
whd $2 $3 $4
cd -
dmesg >2.dmesg

diff -u 1.dmesg 2.dmesg | grep '^\+' | head -5
rm 1.dmesg 2.dmesg
sudo umount /mnt/loop0
sudo losetup -d /dev/loop0

---



  reply	other threads:[~2003-10-20 23:20 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-07 19:02 zeroes read back more often than appended Pat LaVarre
2003-10-07 20:54 ` Pat LaVarre
2003-10-08  3:49 ` Ben Fennema
2003-10-08 16:41   ` Pat LaVarre
2003-10-08 16:47     ` editable udf metadata Pat LaVarre
2003-10-08 17:51       ` Pat LaVarre
2003-10-08 18:09         ` big-endian udfct_1_0r2 Pat LaVarre
2003-10-08 18:30           ` Matthew Wilcox
     [not found]             ` <3F8472FE.9040403@lougher.demon.co.uk>
2003-10-08 19:49               ` Matthew Wilcox
2003-10-08 20:43             ` Phillip Lougher
2003-10-21 21:54         ` editable udf metadata Pat LaVarre
2003-10-21 23:17           ` Pat LaVarre
2003-10-23 16:06             ` Pat LaVarre
2003-10-24 21:40               ` Pat LaVarre
2003-10-22  8:15           ` same page access Mark B
2003-10-22 11:21             ` Matthew Wilcox
2003-10-22 17:09               ` Mark B
2003-10-22 17:10                 ` Matthew Wilcox
2003-10-08 17:02     ` zeroes read back more often than appended Pat LaVarre
2003-10-08 17:06       ` toggling smp clears x86_mce_p4thermal of make xconfig Pat LaVarre
2003-10-08 17:21     ` zeroes read back more often than appended Pat LaVarre
2003-10-08 16:46   ` soft trace of read/write of drivers/block/loop.c Pat LaVarre
2003-10-08 20:32   ` zeroes read back more often than appended Pat LaVarre
2003-10-09 20:54   ` Pat LaVarre
2003-10-10  0:52     ` Pat LaVarre
2003-10-10 16:39       ` Pat LaVarre
2003-10-10 18:15         ` Pat LaVarre
2003-10-14  0:38           ` Pat LaVarre
2003-10-14  1:48             ` Pat LaVarre
2003-10-20 23:20               ` Pat LaVarre [this message]
2003-10-21 14:47                 ` Pat LaVarre
2003-10-21 16:46                   ` Pat LaVarre
2003-10-21 18:44                     ` Pat LaVarre
2003-10-23 18:52                     ` Pat LaVarre
2003-10-27 21:55                       ` Pat LaVarre
2003-11-20 16:41 Pat LaVarre
2003-11-27  0:45 ` Pat LaVarre
2003-11-28 18:20   ` Pat LaVarre
2003-11-28 18:29     ` Pat LaVarre
2003-12-11 18:42 Pat LaVarre

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=1066692050.2814.33.camel@patehci2 \
    --to=p.lavarre@ieee.org \
    --cc=linux-fsdevel@vger.kernel.org \
    /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.