mike@anomaly.sbs.com (Michael P. Deignan) (07/02/90)
I've run into an interesting problem with INEWS which I'm wondering if anyone else has encountered. Because of our filesystems' I-Node limit of 65500 inodes/filesystem, we were thinking of dividing our news filesystem as follows: /dev/news mount as /usr/spool/news /dev/comp mount as /usr/spool/news/comp /dev/rec mount as /usr/spool/news/rec This would effectively yield over 180,000 inodes for our filesystem, more than enough to manage our 14 day expiration cycle on articles. Unfortunately, INEWS uses the link() function, which will not work successfully across filesystems. Looking at the INEWS programs, there appeared to be an "artificial link() simulator" for VMS systems, which, when utilizing the code for those particular routines (ie: posting news) yields a "Cannot reread article" error in ifuncs.c, in function broadcast(), at the code: if (hread(&h,fp, TRUE) == NULL) xerror("Cannot reread article"); Up to this point, it appears that fp has in fact returned a non-NULL value. I was wondering if anyone else has done this, or has a suggestion as to how we might go about it... MD -- -- Michael P. Deignan, President -- Small Business Systems, Inc. -- ----------------------------------------- Box 17220, Esmond, RI 02917 -- -- Domain-Based: mike@anomaly.sbs.com -- Voice: +1 401 273-4669 -- -- UUCP: ...!uunet!rayssd!anomaly!mike -- Telebit: +1 401 455-0347 --
gary@sci34hub.UUCP (Gary Heston) (07/06/90)
In article <1925@anomaly.sbs.com> mike@anomaly.sbs.com (Michael P. Deignan) writes: >I've run into an interesting problem with INEWS which I'm wondering if >anyone else has encountered. It's been seen and discussed before.... maybe we need a Frequently Ask Questions for this group, now.... >Because of our filesystems' I-Node limit of 65500 inodes/filesystem, we >were thinking of dividing our news filesystem as follows: > > /dev/news mount as /usr/spool/news > /dev/comp mount as /usr/spool/news/comp > /dev/rec mount as /usr/spool/news/rec > >This would effectively yield over 180,000 inodes for our filesystem, more >than enough to manage our 14 day expiration cycle on articles. You should be able to handle a 14-day retention on a single filesystem, around 150MB, with a maxed-out inode allocation. This many filesystems shouldn't be necessary unless you're retaining 30 days of so of news. You might want to consider whether or not you need to retain much news, anyway. I expire out comp.mail.maps and junk at 2 days, rec.*, soc.*, sci.*, talk.*, misc.*, and low interest/high volume comp groups at 7 days. Unless you have someone who only reads news once every two weeks, just shorten your expire. Expiring and posting will run faster with the smaller $SPOOLDIR... >Unfortunately, INEWS uses the link() function, which will not work >successfully across filesystems. > > [ possible workaround deleted ] > >I was wondering if anyone else has done this, or has a suggestion as to >how we might go about it... If you really want all those articles around, and have the space on your system, replace the link() function call with a cp. You'll have duplicate files, probably costing you 15-20% more disc space (as a guess--I haven't researched crossposted article activity), but it'll work. -- Gary Heston { uunet!sci34hub!gary } System Mismanager SCI Technology, Inc. OEM Products Department (i.e., computers) "The esteemed gentleman says I called him a liar. That's true, and I regret it." Retief, a character created by Keith Laumer.
woerz%leonardo@isaak.isa.de (Dieter Woerz) (07/12/90)
In article <689@sci34hub.UUCP> gary@sci34hub.sci.com (Gary Heston) writes: <In article <1925@anomaly.sbs.com> mike@anomaly.sbs.com (Michael P. Deignan) writes: <<I've run into an interesting problem with INEWS which I'm wondering if <<anyone else has encountered. < ... << ... <<Unfortunately, INEWS uses the link() function, which will not work <<successfully across filesystems. << << [ possible workaround deleted ] << <<I was wondering if anyone else has done this, or has a suggestion as to <<how we might go about it... < <<<Because of our filesystems' I-Node limit of 65500 inodes/filesystem, we <<were thinking of dividing our news filesystem as follows: << << /dev/news mount as /usr/spool/news << /dev/comp mount as /usr/spool/news/comp << /dev/rec mount as /usr/spool/news/rec << <<This would effectively yield over 180,000 inodes for our filesystem, more <<than enough to manage our 14 day expiration cycle on articles. < < ... <If you really want all those articles around, and have the space on <your system, replace the link() function call with a cp. You'll have <duplicate files, probably costing you 15-20% more disc space (as a <guess--I haven't researched crossposted article activity), but it'll <work. If you are doing it the way described above, you should do it more intelligently and replace the link function with one of your one, which checks, if the article would be on the other file system and use Doing it right, would involve replacing the link function doing the following (written in some sort of pseudo-code): if (both files on the same filesystem) link() else if (symbolic links available) symlink() else copy() But if you are doing it with symbolic links, you have to change expire to either copy the article to a newsgroup, where there is a symbolic link to that article and change the other "links" to the new location of the article (either by making them hard links or leaving them as symbolic links, but changing the pointer), until there are no more links to the article. Or you just leave the article in the original group (don't expire it), until there are no more links to the article. <-- < Gary Heston { uunet!sci34hub!gary } System Mismanager < SCI Technology, Inc. OEM Products Department (i.e., computers) <"The esteemed gentleman says I called him a liar. That's true, and I <regret it." Retief, a character created by Keith Laumer. -- Dieter Woerz INTERNET: woerz@isa.de ISA GmbH UUCP: {pyramid,uunet!unido}!isaak!woerz Azenbergstr. 35 BITNET/EARN: woerz@ds0iff5 D-7000 Stuttgart-1