Linux filesystem development
 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
  -- strict thread matches above, loose matches on Subject: below --
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox