Procházet zdrojové kódy

[PATCH] knfsd: fix auto-sizing of nfsd request/reply buffers

totalram is measured in pages, not bytes, so PAGE_SHIFT must be used when
trying to find 1/4096 of RAM.

Cc:  "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown před 18 roky
rodič
revize
44c556000a
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      fs/nfsd/nfssvc.c

+ 1 - 1
fs/nfsd/nfssvc.c

@@ -209,7 +209,7 @@ int nfsd_create_serv(void)
 		 * Of course, this is only a default.
 		 * Of course, this is only a default.
 		 */
 		 */
 		nfsd_max_blksize = NFSSVC_MAXBLKSIZE;
 		nfsd_max_blksize = NFSSVC_MAXBLKSIZE;
-		i.totalram >>= 12;
+		i.totalram <<= PAGE_SHIFT - 12;
 		while (nfsd_max_blksize > i.totalram &&
 		while (nfsd_max_blksize > i.totalram &&
 		       nfsd_max_blksize >= 8*1024*2)
 		       nfsd_max_blksize >= 8*1024*2)
 			nfsd_max_blksize /= 2;
 			nfsd_max_blksize /= 2;