• Jan Kara's avatar
    quota: Fix maximum quota limit settings · 7e08da50
    Jan Kara authored
    Currently quota format that supports 64-bit usage sets maximum quota
    limit as 2^64-1. However quota core code uses signed numbers to track
    usage and even limits themselves are stored in long long. Checking of
    maximum allowable limits worked by luck until commit 14bf61ff
    (quota: Switch ->get_dqblk() and ->set_dqblk() to use bytes as space
    units) because variable we compared with was unsigned. After that commit
    the type we compared against changed to signed and thus checks for
    maximum limits with the newest VFS quota format started to refuse any
    non-negative value. Later the problem was inadvertedly fixed by commit
    b10a0819 (quota: Store maximum space limit in bytes) because we
    started to compare against unsigned type as well.
    
    Fix possible future problems of this kind by setting maximum limits to
    2^63-1 to avoid overflow issues.
    Reported-by: default avatarCarlos Carvalho <carlos@fisica.ufpr.br>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    7e08da50
quota_v2.c 10.5 KB