Messages in this thread Patch in this message | | | From | Rainer Krienke <> | Subject | Re: 2.4.17:Increase number of anonymous filesystems beyond 256? | Date | Thu, 24 Jan 2002 09:58:48 +0100 |
| |
On Tuesday, 22. January 2002 18:45, Pete Zaitcev wrote: > > From: Rainer Krienke <krienke@uni-koblenz.de> > > Date: Tue, 22 Jan 2002 16:23:54 +0100 > > > > Thanks for the hint. I fixed pmap_create() according to your proposal and > > now nfsd works again. > > Care to share the patch?
Sorry here it is. Its excatly what I described in my initial posting and very simple and only raises the limit of unnamed_dev_in_use:
diff -Naur linux-2.4.17.orig/fs/super.c linux-2.4.17/fs/super.c --- linux-2.4.17.orig/fs/super.c Fri Dec 21 18:42:03 2001 +++ linux-2.4.17/fs/super.c Thu Jan 24 08:23:05 2002 @@ -489,13 +489,13 @@ * filesystems which don't use real block-devices. -- jrs */
-static unsigned long unnamed_dev_in_use[256/(8*sizeof(unsigned long))]; +static unsigned long unnamed_dev_in_use[4096/(8*sizeof(unsigned long))];
kdev_t get_unnamed_dev(void) { int i;
- for (i = 1; i < 256; i++) { + for (i = 1; i < 4096; i++) { if (!test_and_set_bit(i,unnamed_dev_in_use)) return MKDEV(UNNAMED_MAJOR, i); }
If you apply this patch as well as andis patch the system then is capable of mounting up to 4096 NFS dirs. I tested this and it worked without problems. The only thing I noticed is that the automounter needs quite a long time (several seconds) do exire such a mass of mounts. But this is only a performance issue.
... > You did not send your patch (yet again), so there is no way > to tell precisely what you have accomplished. I suspect that it may > create pages with same device number that belong to different > mounts. I do not pretend to understand how VFS and page cache > use device numbers. If device numbers are used for any indexing, > pages may be mixed up with resulting data corruption. > I cannot say if this scenario is likely without looking > at the VFS code. Perhaps we ought to ask Stephen, Al, or Trond > about it. >
Andis patch together with my small modification has still some problems you Pete already solved. On the other hand it has the advantage, that you can mount a very high number only limited by the bitmap unnamed_dev_in_use of NFS directories. The problems are:
1. You cannot start NFSD on a host patched with the above patches. So you cannot mount an exported directory on another linux box. Since you and Trond already described why this happend in Petes first patch it should be possible to fix this. 2. You cannot NFS mount any filesystem exported by this host, since andis patch does not include a mount option to select either secure/non secure port. Since a "normal" kernel linux NFS Client wants always a secure port mounting is impossible. 3. You cannot NFS mount from another linux box, again this happend since there is no mount option that would allow to say that only secure ports should be used.
So I think if it would be possible to include the mount option "nores" like Pete did but now in andis patch as well as a patch so nfsd will run again, andis solution has the big adavantage of beeing able to mount more than 1279 NFS directories.
This was the reason why I was interested to know if there is a major drawback, if you simply do not use more major devices like Pete's patch does. If there are none, than I would propose to drop the use of new major devices.
Thanks Rainer -- --------------------------------------------------------------------- Rainer Krienke krienke@uni-koblenz.de Universitaet Koblenz, http://www.uni-koblenz.de/~krienke Rechenzentrum, Voice: +49 261 287 - 1312 Rheinau 1, 56075 Koblenz, Germany Fax: +49 261 287 - 1001312 --------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |