Xref: utzoo news.software.b:1211 comp.unix.microport:266 Path: utzoo!mnetor!uunet!lll-winken!csustan!polyslo!csun!sdcrdcf!trwrb!desint!geoff From: geoff@desint.UUCP (Geoff Kuenning) Newsgroups: news.software.b,comp.unix.microport Subject: Re: Problem with News when patched at 14 Message-ID: <1695@desint.UUCP> Date: 16 Mar 88 06:32:59 GMT References: <914@bigtex.uucp> <2060@ho95e.ATT.COM> <3adab345.b8ab@apollo.uucp> Reply-To: geoff@desint.UUCP (Geoff Kuenning) Organization: Interrupt Technology Corp., Manhattan Beach, CA Lines: 31 In article <3adab345.b8ab@apollo.uucp> rees@apollo.uucp (Jim Rees) writes: > Aside from the inode bug, there's also the fact that news just > *needs* a lot of inodes. (I'm using double the default number.) > > If you had an Apollo with the Domain/OS file system, you wouldn't have > this problem. If it runs out of inodes, it just allocates more out > of the free list. This shouldn't be too hard to hack into your kernel, > too. This is not impossible on System V, but you can't just grab them from the free list. The kernel assumes (for speed) that the inode list is contiguous. So you'd have to grab the first block or blocks immediately following the i-list. Assuming it was occupied by something useful (originally, it would be the root directory) you'd then have to grab a block off the free list and relocate the grabbed block there. Then you'd have to locate whichever i-node or indirect block pointed at it, and redirect to reflect the relocation. (Got that?) The code isn't actually very complicated, but the kernel would have to shut down the affected filesystem for the duration, and on a large filesystem the search for the guilty indirect block would take quite a while. Fortunately, I've forgotten most of the details of the BSD not-so-fast filesystem, so I can't comment on whether BSD could implement something like this. (Besides, this is soooo un-Unix-like. Next you'll be wanting to expand kernel tables as necessary, or even swap space. Whatcha want, a 20th-century operating system? Egad! :-) -- Geoff Kuenning geoff@ITcorp.com {uunet,trwrb}!desint!geoff