Re: zeroseek and qmail

Russell Nelson <[email protected]> Tue, 27 Aug 2002 15:44:22 -0400 (EDT)
Newsgroups gmane.comp.djb.zeroseek
Message-ID <[email protected]>
Mark Delany writes:
 > On Tue, Aug 27, 2002 at 02:39:23PM -0400, Russell Nelson allegedly wrote:
 > > Jos Backus writes:
 > >  > On Tue, Aug 27, 2002 at 10:36:43AM -0600, Charles Cazabon wrote:
 > >  > > As you say, he only talks about the seekability in terms of the fd provided to
 > >  > > qmail-local, not /by/ qmail-local to other programs.
 > >  > > 
 > >  > > The only obvious way I can think of to keep the fd provided to programs
 > >  > > seekable under zeroseek would involve copying the message to a temporary file
 > >  > > and providing an fd to that; this could be done inside qmail-local when it
 > >  > > invokes a command delivery.
 > >  > 
 > >  > That sounds kind of messy to me.
 > > 
 > > Why?  qmail-local would already need to do this if it had a non-tail
 > > program delivery.  How else do you preserve the semantics of the
 > > program delivery exiting with a 100 (permanent failure) exit code?
 > 
 > Eh? Which semantics need to be preserved exactly that relate to a
 > seekable stdin or the need to create a temp file?

qmail-local only needs to re-read the message on its stdin if it needs 
to deliver it after a program deliver.  Thus, if the only program
delivery is the very last line in the file, then it can deliver to
everything in parallel.

 > It's conceivable in zeroseek-land that qmail-local is given a
 > read-only fd of the zeroseek file (and message location information**)
 > and it creates a read/write pipeline to each program delivery. No temp
 > file needed, no quota issues, no memory issues.

I'm presuming that there is no one file for a message stored in a
zeroseek queue.  A message is just a bunch of sectors stored in raw
partition, or big file (as needed).

-- 
-russ nelson              http://russnelson.com |
Crynwr sells support for free software  | PGPok | businesses persuade
521 Pleasant Valley Rd. | +1 315 268 1925 voice | governments coerce
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   |