Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!oliveb!epimass!jbuck
From: jbuck@epimass.EPI.COM (Joe Buck)
Newsgroups: news.software.b
Subject: Re: /usr/spool/news on >1 fs?
Keywords: many small disks (<40M), hard links, trashed fs
Message-ID: <2269@epimass.EPI.COM>
Date: 7 Jul 88 16:29:51 GMT
References: <161@hawkmoon.MN.ORG> <240@pigs.UUCP>
Reply-To: jbuck@epimass.EPI.COM (Joe Buck)
Organization: Entropic Processing, Inc., Cupertino, CA
Lines: 39

In article <240@pigs.UUCP> haugj@pigs.UUCP (Evil USENET User) writes:
>if worst comes to worst you could hack the software to believe it was
>running on eunice which doesn't have links to begin with.  i haven't
>looked at the code to see how news handles eunice systems, but i do
>know that just like on a unix system, news under eunice does not make
>multiple copies of an article.

I did the 2.11 news code for Eunice, using Larry Wall's method of
fake symbolic links:  groups other than the first group have a file
with the name of the article in it.  Since I did it Larry's way, "rn"
on Eunice works with news.  

The latest version of Eunice, version 4.3, looks much like 4.3bsd and
supports symbolic links.  These symbolic links are -- guess what --
little files with the name of the real file in them.   Since I did
the work under Eunice 4.2, it doesn't use these, but the code still
works under 4.3.

Unfortunately, there are problems with this scheme, in connection
with "expire" when different groups are kept for different amounts
of time.  The way it works right now, the real article is in the
first named group; once it's expired, the article is gone, where
on a Unix a hard link in the other group directories will still
be present.  If you expire everything at the same time this isn't
a problem.

A workable hybrid scheme would be for inews to do the following:

	Install the article in the directory corresponding to the
	first group.  Go directly here rather than /usr/spool/news/.arxxxxx.

	Make links to the positions for all the other group.  If any
	link fails with errno == EXDEV (cross-device link), make a
	symbolic link instead.
-- 
- Joe Buck  {uunet,ucbvax,pyramid,}!epimass.epi.com!jbuck
jbuck@epimass.epi.com	Old Arpa mailers: jbuck%epimass.epi.com@uunet.uu.net
	If you leave your fate in the hands of the gods, don't be 
	surprised if they have a few grins at your expense.	- Tom Robbins