Whamcloud - gitweb
LU-11133 dkms: Add missing ldiskfs module in dkms config
[fs/lustre-release.git] / lustre / quota / qmt_lock.c
index 872070e..4a8aa81 100644 (file)
@@ -21,7 +21,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright (c) 2012, 2016, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
  * Use is subject to license terms.
  *
  * Author: Johann Lombardi <johann.lombardi@intel.com>
@@ -631,9 +631,17 @@ void qmt_glb_lock_notify(const struct lu_env *env, struct lquota_entry *lqe,
        /* send glimpse callback to notify slaves of new quota settings */
        qti->qti_gl_desc.lquota_desc.gl_id        = lqe->lqe_id;
        qti->qti_gl_desc.lquota_desc.gl_flags     = 0;
-       qti->qti_gl_desc.lquota_desc.gl_hardlimit = lqe->lqe_hardlimit;
-       qti->qti_gl_desc.lquota_desc.gl_softlimit = lqe->lqe_softlimit;
-       qti->qti_gl_desc.lquota_desc.gl_time      = lqe->lqe_gracetime;
+       if (lqe->lqe_is_default) {
+               qti->qti_gl_desc.lquota_desc.gl_hardlimit = 0;
+               qti->qti_gl_desc.lquota_desc.gl_softlimit = 0;
+               qti->qti_gl_desc.lquota_desc.gl_time = LQUOTA_GRACE_FLAG(0,
+                                                       LQUOTA_FLAG_DEFAULT);
+
+       } else {
+               qti->qti_gl_desc.lquota_desc.gl_hardlimit = lqe->lqe_hardlimit;
+               qti->qti_gl_desc.lquota_desc.gl_softlimit = lqe->lqe_softlimit;
+               qti->qti_gl_desc.lquota_desc.gl_time = lqe->lqe_gracetime;
+       }
        qti->qti_gl_desc.lquota_desc.gl_ver       = ver;
 
        /* look up ldlm resource associated with global index */
@@ -699,7 +707,7 @@ static void qmt_id_lock_glimpse(const struct lu_env *env,
                lqe_write_lock(lqe);
                if (lqe->lqe_revoke_time == 0 &&
                    lqe->lqe_qunit == pool->qpi_least_qunit)
-                       lqe->lqe_revoke_time = cfs_time_current_64();
+                       lqe->lqe_revoke_time = ktime_get_seconds();
                lqe_write_unlock(lqe);
                RETURN_EXIT;
        }
@@ -737,8 +745,8 @@ static void qmt_id_lock_glimpse(const struct lu_env *env,
        if (lqe->lqe_revoke_time == 0 &&
            qti->qti_gl_desc.lquota_desc.gl_qunit == pool->qpi_least_qunit &&
            lqe->lqe_qunit == pool->qpi_least_qunit) {
-               lqe->lqe_revoke_time = cfs_time_current_64();
-               qmt_adjust_edquot(lqe, cfs_time_current_sec());
+               lqe->lqe_revoke_time = ktime_get_seconds();
+               qmt_adjust_edquot(lqe, ktime_get_real_seconds());
        }
        LASSERT(lqe->lqe_gl);
        lqe->lqe_gl = false;