• David Gibson's avatar
    [PATCH] Fix hugetlbfs_statfs() reporting of block limits · 74a8a65c
    David Gibson authored
    Currently, if a hugetlbfs is mounted without limits (the default), statfs()
    will return -1 for max/free/used blocks.  This does not appear to be in
    line with normal convention: simple_statfs() and shmem_statfs() both return
    0 in similar cases.  Worse, it confuses the translation logic in
    put_compat_statfs(), causing it to return -EOVERFLOW on such a mount.
    
    This patch alters hugetlbfs_statfs() to return 0 for max/free/used blocks
    on a mount without limits.  Note that we need the test in the patch below,
    rather than just using 0 in the sbinfo structure, because the -1 marked in
    the free blocks field is used internally to tell the
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    74a8a65c
inode.c 20.6 KB