ceph: Fix incorrect statfs report for small quota
authorKotresh HR <khiremat@redhat.com>
Wed, 10 Nov 2021 18:00:21 +0000 (23:30 +0530)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 13 Jan 2022 12:40:06 +0000 (13:40 +0100)
commit8e55ba8caae5cd380b1c9c81a426602a667e110e
tree34504e35db1145d0a16e17f87e1babd53c1f2608
parentadbed05ed62d1f3b6f6c5cb88ec52c1ffafc0fd9
ceph: Fix incorrect statfs report for small quota

Problem:
The statfs reports incorrect free/available space for quota less then
CEPH_BLOCK size (4M).

Solution:
For quota less than CEPH_BLOCK size, smaller block size of 4K is used.
But if quota is less than 4K, it is decided to go with binary use/free
of 4K block. For quota size less than 4K size, report the
total=used=4K,free=0 when quota is full and total=free=4K,used=0
otherwise.

Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/quota.c
fs/ceph/super.h