Subject: Re: gunzip|dd causes dd to fail w/ new gzip
To: Martin Husemann <martin@duskware.de>
From: Noriyuki Soda <soda@sra.co.jp>
List: tech-userlevel
Date: 07/09/2004 20:00:57
>>>>> On Fri, 9 Jul 2004 12:28:24 +0200,
	Martin Husemann <martin@duskware.de> said:

> How do I remove any input block boundaries and force strict blocking on
> the output side? 

Ah, I see.

> dd obs=XXX ibs=1 of=/dev/rXXXX

> should work, but would be realy inefficient, wouldn't it?

Yeah, it works, but it's inefficient as you said.

> According to the man page "dd obs=XXX of=/dev/rXXXX" 
> is not enough, since input blocks need not be multiples of 512 byte.

It seems you are confused here.
"dd obs=XXX of=/dev/rXXXX" is enough, because ibs=512 doesn't mean
that input blocks need to be multipels of 512 bytes, it only means
that dd uses 512 bytes for the third argument of read(2).
If there is no constraint with the input media, this is enough.
Or, if there is some constraint with the input media, just specify
the constraint by "ibs=YYY".

Note that input block boundaries are only preserved, if you specify
"bs=ZZZ". Since above examples only use "obs=" and "ibs=", the
boundaries are removed as you expected.
--
soda