Count the number of quotas which are needed to initialize,
instead of just setting to 1 so that we may avoid unnecessary
process in special case.

Signed-off-by: Chengguang Xu <cgxu...@mykernel.net>
---
 fs/quota/dquot.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index 7b4bac91146b..f93bd60c3998 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -1459,7 +1459,7 @@ static int __dquot_initialize(struct inode *inode, int 
type)
                if (!sb_has_quota_active(sb, cnt))
                        continue;
 
-               init_needed = 1;
+               init_needed++;
 
                switch (cnt) {
                case USRQUOTA:
@@ -1483,6 +1483,7 @@ static int __dquot_initialize(struct inode *inode, int 
type)
                                goto out_put;
                        }
                        dquot = NULL;
+                       init_needed--;
                }
                got[cnt] = dquot;
        }
-- 
2.17.2

Reply via email to