rcj@burl.UUCP (Curtis Jackson) (08/27/85)
Firstly: We are running SysVr2 on a Vax 11/780 with 4meg of memory and a process size limit of 2meg. My news filesystem is running out of space, so I decided to move it and double its size. I tried volcopy, forgetting that no matter what size you make the new (larger) filesystem as your destination, volcopy kicks its size back down to that of the 'from' filesystem. Next, I mounted both the new and old filesystems. (I also fsck'd them prior to mounting and they were clean.) I tried to 'cpio -p' from one to the other. No dice; cpio gave me "Too many links" and, contrary to the man page which says that it will just forget about links at that point, it scrogged the new fs totally. I tried this twice. Next, I noticed that dcopy(1M) will take an fs size and inode list size as arguments. GREAT!! I dcopy from the old fs (raw) to the new fs (block) with both unmounted. It gets through with phase 1 OK, then tries to work on inums for directories. "dcopy: Can't get mem for directories" or some such rot, and IT quits. Now what do I do? I came up with 3 possibles, but it has been an awful long day and I refuse to try either one until at least tomorrow: 1) If I run dcopy in single-user mode, will that override the per-process size limit of 2 meg and allow it to get more memory? 2) If I use the '-d' switch on dcopy (leaves subdirectories where they are rather than moving them to the front of their parents), does anyone think there is a snowball's chance that it will go ahead and finish correctly? 3) It doesn't matter what I do, because the computer is out to get me. If that is so, and it was cocky enough to send out this request for help anyway (you are reading this, aren't you?) then I'm in BIG TROUBLE. Thanks very much in advance for any light you may shed on this,
wcs@ho95e.UUCP (x0705) (08/28/85)
_From Curtis Jackson: > Firstly: We are running SysVr2 on a Vax 11/780 with 4meg of memory > and a process size limit of 2meg. > > My news filesystem is running out of space, so I decided to move it > and double its size. I tried volcopy, forgetting that no matter what > size you make the new (larger) filesystem as your destination, volcopy > kicks its size back down to that of the 'from' filesystem. > > Next, I mounted both the new and old filesystems. (I also fsck'd them > prior to mounting and they were clean.) I tried to 'cpio -p' from > one to the other. No dice; cpio gave me "Too many links" and, contrary > to the man page which says that it will just forget about links at > that point, it scrogged the new fs totally. I tried this twice. > ..... > 1) If I run dcopy in single-user mode, will that override the per-process > size limit of 2 meg and allow it to get more memory? To override the per-process limit, you need to set your ulimit bigger. Become superuser and type "ulimit 100000". Unfortunately, ulimit affects both process size and max file size (flame, flame). Maybe this will help, although there may be other limits as well. I've never had cpio die from too many links, but netnews has a way of hitting program limits that haven't been stressed before. Maybe the large ulimit will help. Two other approaches: use tar instead of cpio, and use find. The manual page for tar gives this method: cd fromdir; tar cf - . | (cd todir; tar xf -) Alternatively, use a brute-force find: cd $OLDFS find . -type d -exec mkdir "$NEWFS"{} \; find . -exec cp {} "$NEWFS"{} \; -- ## Bill Stewart, AT&T Bell Labs, Holmdel NJ 1-201-949-0705 ihnp4!ho95c!wcs
am@vilya.UUCP (MALEK) (08/28/85)
> My news filesystem is running out of space, so I decided to move it > and double its size. > Next, I mounted both the new and old filesystems. (I also fsck'd them > prior to mounting and they were clean.) I tried to 'cpio -p' from > one to the other. No dice; cpio gave me "Too many links" and, contrary > to the man page which says that it will just forget about links at > that point, it scrogged the new fs totally. I tried this twice. Please try checking that your mkfs(1m) was run with the proper options. You may not have given the new file system enough inodes; The news filesystem has relatively more files than many filesystems. If you still have problems, use cpio -o and copy back with cpio -i, so you will be sure where the problem is coming from. These cpio's can be done with a simple shell for each subdirectory if necessary. Avi Malek -- Avi Malek @ATT Bell Labs Parsippany, NJ
gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (08/29/85)
> > size limit of 2 meg and allow it to get more memory? > To override the per-process limit, you need to set your ulimit bigger. > Become superuser and type "ulimit 100000". Unfortunately, ulimit affects both > process size and max file size (flame, flame). ulimit strikes again. The default ulimit should be OFF (perhaps -1 should mean this); the site manager can set a ulimit in /etc/profile according to site needs. I hope somebody FIXES this nuisance.
alan@drivax.UUCP (Alan Fargusson) (08/29/85)
> My news filesystem is running out of space, so I decided to move it > and double its size. . . . > 1) If I run dcopy in single-user mode, will that override the per-process > size limit of 2 meg and allow it to get more memory? > > 2) If I use the '-d' switch on dcopy (leaves subdirectories where they > are rather than moving them to the front of their parents), does anyone > think there is a snowball's chance that it will go ahead and finish > correctly? > > 3) It doesn't matter what I do, because the computer is out to get me. > If that is so, and it was cocky enough to send out this request for help > anyway (you are reading this, aren't you?) then I'm in BIG TROUBLE. > > Thanks very much in advance for any light you may shed on this, You might try tar(1), however you will have to fix it. If you have source that is. As in the example in the manual type: cd fromdir; tar cf - . | ( cd todir; tar xf - ) The problem with this is that when tar tries to make a directory in todir it execs mkdir(1), then waits for ALL of its children to complete. But in the bourne shell the first tar is a child of the second tar, so it can hang forever. All you have to do is fix tar(1) so it only waits for the process that it forked. System V, a standard to live down to. :-) -- Alan Fargusson. { ihnp4, amdahl, mot }!drivax!alan
peter@graffiti.UUCP (Peter da Silva) (09/04/85)
> cd fromdir; tar cf - . | ( cd todir; tar xf - ) > > The problem with this is that when tar tries to make a directory in todir > it execs mkdir(1), then waits for ALL of its children to complete. But in > the bourne shell the first tar is a child of the second tar, so it can hang > forever. All you have to do is fix tar(1) so it only waits for the process > that it forked. > > System V, a standard to live down to. :-) Far be it for me to do something for SV, but: ( cd fromdir; tar cf - . ) | ( cd todir; tar xf - )
rcj@burl.UUCP (Curtis Jackson) (09/09/85)
In article <181@graffiti.UUCP> peter@graffiti.UUCP (Peter da Silva) writes: >> cd fromdir; tar cf - . | ( cd todir; tar xf - ) >> >> <more from original article> >> >Far be it for me to do something for SV, but: > > ( cd fromdir; tar cf - . ) | ( cd todir; tar xf - ) Huh? The only difference I can see is that the stdout from the cd command gets piped to the 'tar xf'. BFD. If you agree with me that it makes no difference which way you execute this command, don't bother to write; otherwise please mail me and tell me what I'm missing. Thanks, -- The MAD Programmer -- 919-228-3313 (Cornet 291) alias: Curtis Jackson ...![ ihnp4 ulysses cbosgd mgnetp ]!burl!rcj ...![ ihnp4 cbosgd akgua masscomp ]!clyde!rcj
alan@drivax.UUCP (Alan Fargusson) (09/11/85)
> > cd fromdir; tar cf - . | ( cd todir; tar xf - ) > > > > The problem with this is that when tar tries to make a directory in todir > > it execs mkdir(1), then waits for ALL of its children to complete. But in > > the bourne shell the first tar is a child of the second tar, so it can hang > > forever. All you have to do is fix tar(1) so it only waits for the process > > that it forked. > > > > System V, a standard to live down to. :-) > > Far be it for me to do something for SV, but: > > ( cd fromdir; tar cf - . ) | ( cd todir; tar xf - ) I am not sure if you are trying to say that this solves the problem or not, but if you think it does you are wrong. If you want a long explenation of the problem then send me mail. -- Alan Fargusson. { ihnp4, amdahl, mot }!drivax!alan