Commit:     818db35992c249dc32c1d86daf7d533fb0952f5d
Parent:     5b04c6890f0dc7ea6c85b9adebc883c55c667d97
Author:     Michael Marineau <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 4 22:28:48 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Feb 5 09:44:15 2008 -0800

    tmpfs: fix mounts when size is less than the page size
    When tmpfs is mounted with a size less than one page, the number of blocks
    is set to 0 which makes the tmpfs mount unlimited.  This can lead to a
    quick and surprising death if someone typos a tmpfs mount command and
    writes too much.
    tmpfs can still be mounted as unlimited if size or nr_blocks is exactly 0,
    as Documentation/filesystems/tmpfs.txt says.
    Hugh: do this by rounding size up instead of down in all cases: which
    slightly expands other odd-sized tmpfs mounts, but in a consistent way.
    Signed-off-by: Michael Marineau <[EMAIL PROTECTED]>
    Signed-off-by: Hugh Dickins <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 mm/shmem.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index ce64b66..7be9434 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2012,7 +2012,7 @@ static int shmem_parse_options(char *options, int *mode, 
uid_t *uid,
                        if (*rest)
                                goto bad_val;
-                       *blocks = size >> PAGE_CACHE_SHIFT;
+                       *blocks = DIV_ROUND_UP(size, PAGE_CACHE_SIZE);
                } else if (!strcmp(this_char,"nr_blocks")) {
                        *blocks = memparse(value,&rest);
                        if (*rest)
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to