[comp.sys.pyramid] Can a filesystem be larger than its base partition?

car@trux.UUCP (Chris Rende) (11/16/89)

[ Nixdorf Targon M35/50 TOS 3.2 - Pyramid 9810 OSx 4.0 - MP14 disks]

The System V Release 2 kernel allowed a file system to be built (MKFS'ed)
on a slice/partition which was larger than the slice/partition.
(I.e., file systems began on slice/partition boundaries but could
include other slices/partitions).

(Boy - this is hard to put into words).

On the Pyramid (BSD), Can a file system cross partition boundaries?

Can I MKFS a file system that uses all the disk space from pdisk00a,
pdisk00b, and pdisk00c on /dev/iop/pdisk00a?

Or, is /dev/iop/pdisk00o the only way to combine pdisk00[abc]? (o=a+b+c)

car.
-- 
Christopher A. Rende           Central Cartage (Nixdorf/Pyramid/SysV/BSD4.3)
uunet!edsews!rphroy!trux!car   Multics,DTSS,Unix,Shortwave,Scanners,StarTrek
 trux!car@uunet.uu.net         Minix,PC/XT,Mac+,TRS-80 Model I: Buy Sell Trade
       "I don't ever remember forgetting anything." - Chris Rende

csg@pyramid.pyramid.com (Carl S. Gutekunst) (11/16/89)

In article <308@trux.UUCP> car@trux.UUCP (Chris Rende) writes:
>On the Pyramid (BSD), Can a file system cross partition boundaries?

Sure. Using the -s option to newfs. We go both ways -- making the filesystem
either larger or smaller than the standard size. It's very common to build a
90MB filesystem stradling the 'b' and 'c' partitions, for example, by making
a short filesystem starting from partition 'h.' We generally don't start with
'b' and make it larger, though, since people tend to assume that any parti-
tion called 'b' will be 30MB. At least if it's called 'h', you have a warning
that something strange is being done.

Be careful of doing this sortof thing on the 00 disk; OSx "knows" that 00b is
for swapping, and will try to use that space for swapping whether you tell it
to or not.

Of course, be sure to write down your oddsized partitions somewhere.

<csg>

car@trux.UUCP (Chris Rende) (11/17/89)

In article <91317@pyramid.pyramid.com>, csg@pyramid.pyramid.com (Carl S. Gutekunst) writes:
> In article <308@trux.UUCP> car@trux.UUCP (Chris Rende) writes:
> >On the Pyramid (BSD), Can a file system cross partition boundaries?
> 
> Sure. Using the -s option to newfs. We go both ways -- making the filesystem
> either larger or smaller than the standard size.
> 
> Be careful of doing this sortof thing on the 00 disk; OSx "knows" that 00b is
> for swapping, and will try to use that space for swapping whether you tell it
> to or not.

Are there any other gottcha's that OSx "knows" about?

Does the ROOT partition have to be 00a?

Can OSx somehow be told not to use 00b for swapping but rather look in
/etc/fstab for the information? (Is this one of those "Which came first:
the chicken or the egg" stories? I.e., can't get at /etc/fstab to find out
where the swap area is until the ROOT partition (00a) is mounted - and
can't get enough of the system started [in order to disk mount] without first
establishing a swap/paging area - so, just assume that 00b is a swap area)?

What I'm trying to do is increase the size of my ROOT and USR file systems
in order to make room for TOS 3.3 (OSx 4.4).

In order to make more room for my ROOT partition I can add 00b's blocks
into 00a, giving a 50Mb ROOT partition (I'd use 00a instead of 00j because
00a seems to have special meaning as a ROOT partition). But, from the info
above, OSx would trash my ROOT partition by writing swap/paging stuff into
it via 00b.

It looks like I have these choices for increasing the size of my file systems:

- Alter the partition "hard boundaries" to suite my needs (conf.c).
- Use VDISK to create small file systems to mount on /tmp, /usr/spool,
  /usr/adm, etc...
- Use symbolic links for dir's and files which grow so that the disk space
  is drawn from another file system.

None of these seem like clean solutions to me.

What have other people done to solve this problem?

car.
-- 
Christopher A. Rende           Central Cartage (Nixdorf/Pyramid/SysVR2/BSD4.3)
uunet!edsews!rphroy!trux!car   Multics,DTSS,Unix,Shortwave,Scanners,StarTrek
 trux!car@uunet.uu.net         Minix,PC/XT,Mac+,TRS-80 Model I,1802 ELF
       "I don't ever remember forgetting anything." - Chris Rende

greg@moxie.UUCP (Greg Hackney) (11/17/89)

In article <309@trux.UUCP> car@trux.UUCP (Chris Rende) writes:

>What I'm trying to do is increase the size of my ROOT and USR file systems
>in order to make room for TOS 3.3 (OSx 4.4).

No root file space is a standard feature of 4.4.
--
Greg

Vatican Express Card - Don't leave Rome without it.

linda@cc.brunel.ac.uk (Linda Birmingham) (11/20/89)

In article <91317@pyramid.pyramid.com> csg@pyramid.pyramid.com (Carl S. Gutekunst) writes:
>In article <308@trux.UUCP> car@trux.UUCP (Chris Rende) writes:
>>On the Pyramid (BSD), Can a file system cross partition boundaries?
>
Isn't this what virtual file systems are all about ??
>
Linda.
-- 
Brunel University, Uxbridge, Middlesex, England.
janet: linda@uk.ac.brunel.cc |  :-)
uucp:...ukc!cc.brunel!linda  |   

steve@qe2.tcspa.ibm.com (Steve DeJarnett) (11/28/89)

In article <309@trux.UUCP>, car@trux.UUCP (Chris Rende) writes:
> In article <91317@pyramid.pyramid.com>, csg@pyramid.pyramid.com (Carl
S. Gutekunst) writes:
> > In article <308@trux.UUCP> car@trux.UUCP (Chris Rende) writes:
> > >On the Pyramid (BSD), Can a file system cross partition boundaries?
> > 
> > Sure. Using the -s option to newfs. We go both ways -- making the
filesystem
> > either larger or smaller than the standard size.
> > 
> > Be careful of doing this sortof thing on the 00 disk; OSx "knows"
that 00b is
> > for swapping

	Actually, isn't it more like OSx knows that the 'b' partition of the
drive on which
the root filesystem is loaded is a swap partition?? (i.e. if your root
lives on 01a, then
OSx knows/assumes that 01b is a swap partition).

> Are there any other gottcha's that OSx "knows" about?
> Does the ROOT partition have to be 00a?

	At least under 4.4, the root could be any 'a' partition (I know that
for certain 
because I ended up having to try it).  It may allow root to be on a
partition besides 'a',
but I can't say for certain whether that's true.

> What I'm trying to do is increase the size of my ROOT and USR file systems
> in order to make room for TOS 3.3 (OSx 4.4).

	You should be able to fit all of ROOT on an 'a' partition IF you keep the wtmp
logging on another partition or delete the wtmp file fairly regularly
(the system I used 
to run deleted it every week -- this was on a heavily-used 98x).  I
wouldn't advise 
making your ROOT partition non-standard.  In fact, it may not be
possible unless you never
plan to upgrade OS's again.  If you make your ROOT non-standard, then
when you upgrade, 
you would have to first back up EVERYTHING (at least everything on one
of your 'a' 
partitions), then install TOS, then make new partitions that TOS knows
about, copy all 
of the data to the new ROOT partition, then reboot with that info. 
That's a lot of work
for a small gain (in my opinion).  So, you might want to consider having
an 'a' partition
for root (with suitable pruning of log files, etc.).

	As for making /usr larger, I'd say that I don't recommend it, but it's
not as bad
as trying to make ROOT larger (my last system had a non-standard /usr). 
If you do, place
it on a different drive from root, then create it as an 'h' partition. 
Make it large
enough to hold log files, etc. that tend to grow.  What you will end up
doing when you do
a new OS install is loading root onto it's partition, stopping the
install.  Editing the
fstab on disk to ignore /usr for the time being, booting off of the
disk, recreating your
'h' partition in conf.c, adding /usr back into /etc/fstab, build a new
kernel, then reboot.
After this you should be able to get to your old /usr, at which time you
can run the
installusr (or whatever it was called) portion of the install.  Still a
lot of work, but
doable.

> In order to make more room for my ROOT partition I can add 00b's blocks
> into 00a, giving a 50Mb ROOT partition (I'd use 00a instead of 00j because
> 00a seems to have special meaning as a ROOT partition). But, from the info
> above, OSx would trash my ROOT partition by writing swap/paging stuff into
> it via 00b.

	Yes, it will.  I ended up losing quite a few files when OSx used a 'b'
partition
on the drive I was booting off of to swap.  Unfortunately, at that time,
the 'b' partition
was part of another partition that held user files.  (thank goodness I
had fresh backups!)

> It looks like I have these choices for increasing the size of my file
systems:
> - Use symbolic links for dir's and files which grow so that the disk space
>   is drawn from another file system.

	This is what we did.  All log files and other rapidly changing, dynamic
areas of
the filesystem resided on larger disks via symbolic links.

> Christopher A. Rende

	That's how we handled it.  It may not be the cleanest way ever
invented, but it
does do the trick, and it's not too difficult to deal with.

	IBM doesn't (to the best of my knowledge) own any Pyramids.  All of this was 
derived from past experiences, etc.

Steve DeJarnett			IBM Internal: steve@ibmpa.tcspa.ibm.com
IBM AWD Palo Alto		UUCP:	  ibmsupt!steve@uunet.uu.net
(415) 855-3510			VNET:	  steve at paloalto
These opinions are my own.  I doubt IBM wants them.......

csg@pyramid.pyramid.com (Carl S. Gutekunst) (11/29/89)

In article <309@trux.UUCP> car@trux.UUCP (Chris Rende) writes:
>Are there any other gottcha's that OSx "knows" about?
>
>Does the ROOT partition have to be 00a?

It has to be 'a' on the boot disk. And 'b' on the boot disk will always be
for swapping. These are absolutely, positively wired into the kernel, and you
cannot do anything about it. (Unless you muck with the source, of course.)

Don't make your root partition larger; just move things off of it. The most
important of these is /tmp, which should be off on it's own partition if at
all possible. Do not use symbolic links to the growing files in /etc; there
are hidden pitfalls. :-(

Pyramid moved a lot of stuff off of the root disk and onto /usr; now /usr is
overcroweded. It really is getting these days so that you cannot run a UNIX
system with just one 400MB disk. (I still have a massive 1MB RAM and 65MB disk
on my PDP-11/73....)

<csg>