Re: [PATCH] quota: fix condition for resetting time limit in do_set_dqblk()

2019-07-30 Thread Jan Kara
On Wed 24-07-19 13:32:16, Chengguang Xu wrote:
> We reset time limit when current usage is smaller
> or equal to soft limit in other place, so follow
> this rule in do_set_dqblk().
> 
> Signed-off-by: Chengguang Xu 

Thanks! Applied.

Honza

> ---
>  fs/quota/dquot.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
> index be9c471cdbc8..6e826b454082 100644
> --- a/fs/quota/dquot.c
> +++ b/fs/quota/dquot.c
> @@ -2731,7 +2731,7 @@ static int do_set_dqblk(struct dquot *dquot, struct 
> qc_dqblk *di)
>  
>   if (check_blim) {
>   if (!dm->dqb_bsoftlimit ||
> - dm->dqb_curspace + dm->dqb_rsvspace < dm->dqb_bsoftlimit) {
> + dm->dqb_curspace + dm->dqb_rsvspace <= dm->dqb_bsoftlimit) {
>   dm->dqb_btime = 0;
>   clear_bit(DQ_BLKS_B, >dq_flags);
>   } else if (!(di->d_fieldmask & QC_SPC_TIMER))
> @@ -2740,7 +2740,7 @@ static int do_set_dqblk(struct dquot *dquot, struct 
> qc_dqblk *di)
>   }
>   if (check_ilim) {
>   if (!dm->dqb_isoftlimit ||
> - dm->dqb_curinodes < dm->dqb_isoftlimit) {
> + dm->dqb_curinodes <= dm->dqb_isoftlimit) {
>   dm->dqb_itime = 0;
>   clear_bit(DQ_INODES_B, >dq_flags);
>   } else if (!(di->d_fieldmask & QC_INO_TIMER))
> -- 
> 2.20.1
> 
> 
> 
> 
-- 
Jan Kara 
SUSE Labs, CR


[PATCH] quota: fix condition for resetting time limit in do_set_dqblk()

2019-07-23 Thread Chengguang Xu
We reset time limit when current usage is smaller
or equal to soft limit in other place, so follow
this rule in do_set_dqblk().

Signed-off-by: Chengguang Xu 
---
 fs/quota/dquot.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index be9c471cdbc8..6e826b454082 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -2731,7 +2731,7 @@ static int do_set_dqblk(struct dquot *dquot, struct 
qc_dqblk *di)
 
if (check_blim) {
if (!dm->dqb_bsoftlimit ||
-   dm->dqb_curspace + dm->dqb_rsvspace < dm->dqb_bsoftlimit) {
+   dm->dqb_curspace + dm->dqb_rsvspace <= dm->dqb_bsoftlimit) {
dm->dqb_btime = 0;
clear_bit(DQ_BLKS_B, >dq_flags);
} else if (!(di->d_fieldmask & QC_SPC_TIMER))
@@ -2740,7 +2740,7 @@ static int do_set_dqblk(struct dquot *dquot, struct 
qc_dqblk *di)
}
if (check_ilim) {
if (!dm->dqb_isoftlimit ||
-   dm->dqb_curinodes < dm->dqb_isoftlimit) {
+   dm->dqb_curinodes <= dm->dqb_isoftlimit) {
dm->dqb_itime = 0;
clear_bit(DQ_INODES_B, >dq_flags);
} else if (!(di->d_fieldmask & QC_INO_TIMER))
-- 
2.20.1