Creating Compressed Loop FS from stdin

Peter Pentchev roam at ringlet.net
Thu Dec 30 06:00:11 PST 2004


On Thu, Dec 30, 2004 at 03:32:27PM +0200, Maxim Sobolev wrote:
> Peter Pentchev wrote:
> >On Thu, Dec 30, 2004 at 01:28:28PM +0100, Matteo Riondato wrote:
> >
> >>Il giorno Gio, 30-12-2004 alle 12:34 +0200, Peter Pentchev ha scritto:
> >>
> >>>This could be fixed by the following patch.  I'm CC'ing Maxim Sobolev,
> >>>the author of mkuzip(8); Maxim, do you have any objections to this patch?
> >>
> >>Thank you for the answer and fo the patch! I hope Maxim will commit it
> >>soon.
> >
> >
> >Actually, if Maxim has no objections, I could commit it myself.
> >However, it would be totally understandable if he doesn't answer in
> >the next day or three, what with the calendar moving ahead and all :)
> 
> It will not help, since AFAIK you can't seek stdin anyway, or even if I 
> am wrong and you can seek it to the end you will be unable to seek it 
> backward.

I tested the patch before posting it, fully expecting to find that stdin
really cannot be seeked (sought? :), and surprisingly it worked, at least
on RELENG_5 as of today!

> I've already replied to this message, but Matteo has some very strange 
> settings of his smtp relay so that neither my original message nor my 
> follow-up in which I had forwarded mail delivery error message got through.
> 
> -Maxim
> 
> -------- Original Message --------
> Subject: Re: Creating Compressed Loop FS from stdin
> Date: Fri, 17 Dec 2004 17:14:48 +0200
> From: Maxim Sobolev <sobomax at portaone.com>
> Organization: Porta Software Ltd
> To: Matteo Riondato <rionda at freesbie.org>
> References: <1103290915.8516.9.camel at kaiser.sig11.org>
> 
> This is not going to work by design unfortunately. cloop format has
> serious design flaw: it contains variable-lengh header at the beginning
> of the compressed image, so that before doing compression mkuzip(1) uses
> stat(2) call at the original file to get its size and reserve necessary
> space, which doesn't work with /dev/stdin as you may guess. Original GNU
> utility either keeps the whole compressed image in memory or uses some
> form of temporary storage (I don't quite remember) to work around this
> problem.

Well, another solution would be to make mkuzip use a temporary file
(obviously, keeping the whole thing in memory would be a bad idea for
big ISO filesystems ;).  However, as I noted above, my lseek patch
works at least for RELENG_5.  Can somebody test it on -CURRENT?

G'luck,
Peter

-- 
Peter Pentchev	roam at ringlet.net    roam at cnsys.bg    roam at FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This inert sentence is my body, but my soul is alive, dancing in the sparks of your brain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20041230/791d78fa/attachment.bin


More information about the freebsd-hackers mailing list