lkml.org 
[lkml]   [2007]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH, RESEND] tmpfs: fix mounts when size is less than the page size
    On 11/4/07, Hugh Dickins <hugh@veritas.com> wrote:
    > Fair enough, that does match the documentation of "size=0" better.
    > Though either way, someone who typos is going to get one kind of surprise
    > or another. Do you mind if we do it slightly differently, achieving the
    > same effect without a special case, by rounding up instead of down?

    Sounds reasonable to me. I didn't know about DIV_ROUND_UP :-)

    >
    >
    > From: Michael Marineau <mike@marineau.org>
    >
    > 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 <mike@marineau.org>
    > Signed-off-by: Hugh Dickins <hugh@veritas.com>
    > ---
    >
    > mm/shmem.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > --- 2.6.24-rc1-git/mm/shmem.c 2007-10-31 06:18:05.000000000 +0000
    > +++ linux/mm/shmem.c 2007-11-04 11:46:09.000000000 +0000
    > @@ -2137,7 +2137,7 @@ static int shmem_parse_options(char *opt
    > }
    > 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)
    >


    --
    Michael Marineau
    Oregon State University
    mike@marineau.org
    -
    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/

    \
     
     \ /
      Last update: 2007-11-04 19:15    [W:3.580 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site