[PATCH] xfs: use hardlimit as sub-fs size if both hard/soft limits are set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In current implementation, we size the fs(sub-fs via project quota) at
the soft limit and simply call it 100% used if the limit is exceeded.
It is reasonable when only a soft limit is set, but we should use the
hard limit if both hard/soft limits are set, so that quota-df reflects
the usage information more accurately.

Signed-off-by: Chengguang Xu <cgxu519@xxxxxxx>
---
 fs/xfs/xfs_qm_bhv.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/xfs/xfs_qm_bhv.c b/fs/xfs/xfs_qm_bhv.c
index 2be6d27..43b0fe8 100644
--- a/fs/xfs/xfs_qm_bhv.c
+++ b/fs/xfs/xfs_qm_bhv.c
@@ -35,9 +35,9 @@
 {
 	uint64_t		limit;
 
-	limit = dqp->q_core.d_blk_softlimit ?
-		be64_to_cpu(dqp->q_core.d_blk_softlimit) :
-		be64_to_cpu(dqp->q_core.d_blk_hardlimit);
+	limit = dqp->q_core.d_blk_hardlimit ?
+		be64_to_cpu(dqp->q_core.d_blk_hardlimit) :
+		be64_to_cpu(dqp->q_core.d_blk_softlimit);
 	if (limit && statp->f_blocks > limit) {
 		statp->f_blocks = limit;
 		statp->f_bfree = statp->f_bavail =
@@ -45,9 +45,9 @@
 			 (statp->f_blocks - dqp->q_res_bcount) : 0;
 	}
 
-	limit = dqp->q_core.d_ino_softlimit ?
-		be64_to_cpu(dqp->q_core.d_ino_softlimit) :
-		be64_to_cpu(dqp->q_core.d_ino_hardlimit);
+	limit = dqp->q_core.d_ino_hardlimit ?
+		be64_to_cpu(dqp->q_core.d_ino_hardlimit) :
+		be64_to_cpu(dqp->q_core.d_ino_softlimit);
 	if (limit && statp->f_files > limit) {
 		statp->f_files = limit;
 		statp->f_ffree =
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux