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>
                 * Of course, this is only a default.
                 */
                nfsd_max_blksize = NFSSVC_MAXBLKSIZE;
-               i.totalram >>= 12;
+               i.totalram <<= PAGE_SHIFT - 12;
                while (nfsd_max_blksize > i.totalram &&
                       nfsd_max_blksize >= 8*1024*2)
                        nfsd_max_blksize /= 2;