[comp.sys.apple2] ACOS Mail Text Files

thlayli@ucscb.UCSC.EDU (Lord Thlayli Merriadoc Valentine of Kalakiryande) (02/20/91)

My BBS, Milliways IIN (213) 559-8723, is running an ACOS-based (though loosely)
similar-to-GBBS style mail program.

I would think it likely that a GBBS programmer would be able to understand
my problem, so listen up...

The mail file is taking over Los Angeles. The thing was born at less than 20
blocks, and now is over 260. It is rapidly swallowing all the space I have,
yet the amount of letters actively online is more or less the same as it's
ever been
..

How would you explain this? I am under the assumption that I'm going to 
have to manually dredge out all the active letters and transfer them to
a new, small mailfile. I'm only running 160 users or so; what's the matter
with my system? Old letters *appear* to be deleted, but the file just gets
bigger, and bigger, and bigger...

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (02/20/91)

How are you deleting messages? You have to delete a file before it's
space is freed, but overwriting from the beginning re-uses the blocks that
are already allocated for the file.

If your mail file is constantly growing then you must be writing stuff
onto the end and never purging the dead messages from disk -- maybe from your
own data structure but prodos only frees disk blocks when you delete a file
completely.

I need to know more about how your Prodos routines work before I can make
any intelligent guesses as to what's wrong...

Todd Whitesel
toddpw @ tybalt.caltech.edu

greg@hoss.unl.edu (Lig Lury Jr.) (02/22/91)

... toddpw@nntp-server.caltech.edu (Todd P. Whitesel) writes:

>How are you deleting messages? You have to delete a file before it's
>space is freed, but overwriting from the beginning re-uses the blocks that
>are already allocated for the file.

>If your mail file is constantly growing then you must be writing stuff
>onto the end and never purging the dead messages from disk -- maybe from your
>own data structure but prodos only frees disk blocks when you delete a file
>completely.

>I need to know more about how your Prodos routines work before I can make
>any intelligent guesses as to what's wrong...

It sounds like he's running the standard mail configuration which has one
file MAIL which is shared by all users.  It can be thought of as a
random-access file with record size of 4K.  Each user has their mail
stored in the appropriate record by user number.  However if you try to
CRUNCH the mail file it will repack the file, but you lose the numbering
scheme.

There are two ways of handling this problem.  You can use one of the
message file packers which will automatically create a new message file
and copy all the messages from the old file to the new, or you can change
your mail configuration so that each user has their own mail file, like
MAIL.un where un is the user number.  Then you can CRUNCH all you like,
and actually delete the mail file when they've read their mail, and you'll
get your disk space back.  (When I first did the first one, the file was
reduced from 200 blocks to 20.)

Message files are the thing ACOS really has going for it.  The problem is
the design of the MSG.SEG.S which handles both mail and bulletins.  The
mail system is designed badly, and the file is simply too big -- I suggest
users split the file into two called MAIL.SEG.S and BULLETINS.SEG.S,
making the appropriate changes in MAIN.SEG.S.

>Todd Whitesel
>toddpw @ tybalt.caltech.edu

Meanwhile I'll add anyone who requests it to the GBBS/ACOS Sysop Support
mailing list, and accepting offers from anyone who is interested in taking
over the administrative work of the mailing list, or a way to automate it.
(Sorry for the delay thlayli@ucscb.UCSC.EDU (Lord Thlayli Merriadoc
Valentine of Kalakiryande), but I have lots of things going on right now
that I need to take care of first.)

--
///   ____   \\\ DON'T      \"Have you ever been to Belgium in fact?"  "I think
| |/ /    \ \| |      PANIC  \ that you should restrict that sort of remark to
 \\_( \==/ )_// Lig Lury, Jr. \ something artistic."  "You sound as if I just
     \__\\/ greg@hoss.unl.edu  \ said something unspeakably rude."  "You did."