Whamcloud - gitweb
- fixes in mdt_fini();
authoryury <yury>
Tue, 26 Sep 2006 10:30:59 +0000 (10:30 +0000)
committeryury <yury>
Tue, 26 Sep 2006 10:30:59 +0000 (10:30 +0000)
- verbose seq recovery.

lustre/fid/fid_handler.c
lustre/ldlm/ldlm_lib.c
lustre/mdt/mdt_handler.c

index 5d9046f..f0e6c1a 100644 (file)
@@ -124,12 +124,16 @@ static int __seq_server_alloc_super(struct lu_server_seq *seq,
         LASSERT(range_is_sane(space));
 
         if (in != NULL) {
-                CDEBUG(D_INFO, "%s: Recovery - use input range "
-                       DRANGE"\n", seq->lss_name, PRANGE(in));
+                CDEBUG(D_INFO|D_WARNING, "%s: Recovery started. Use input "
+                       "(last allocated) range "DRANGE"\n", seq->lss_name,
+                       PRANGE(in));
 
                 if (in->lr_start > space->lr_start)
                         space->lr_start = in->lr_start;
                 *out = *in;
+
+                CDEBUG(D_INFO|D_WARNING, "%s: Recovery finished. Recovered "
+                       "space: "DRANGE"\n", seq->lss_name, PRANGE(space));
         } else {
                 if (range_space(space) < seq->lss_super_width) {
                         CWARN("%s: Sequences space to be exhausted soon. "
@@ -189,8 +193,9 @@ static int __seq_server_alloc_meta(struct lu_server_seq *seq,
          * it is allocated from new super.
          */
         if (in != NULL) {
-                CDEBUG(D_INFO, "%s: Recovery - use input range "
-                       DRANGE"\n", seq->lss_name, PRANGE(in));
+                CDEBUG(D_INFO|D_WARNING, "%s: Recovery started. Use input "
+                       "(last allocated) range "DRANGE"\n", seq->lss_name,
+                       PRANGE(in));
 
                 if (range_is_exhausted(super)) {
                         LASSERT(in->lr_start > super->lr_start);
@@ -214,6 +219,9 @@ static int __seq_server_alloc_meta(struct lu_server_seq *seq,
                 }
 
                 *out = *in;
+
+                CDEBUG(D_INFO|D_WARNING, "%s: Recovery finished. Recovered "
+                       "super: "DRANGE"\n", seq->lss_name, PRANGE(super));
         } else {
                 /*
                  * XXX: avoid cascading RPCs using kind of async preallocation
index 10ad6d2..a98b71c 100644 (file)
@@ -1216,15 +1216,15 @@ int target_queue_recovery_request(struct ptlrpc_request *req,
 
         spin_lock_bh(&obd->obd_processing_task_lock);
 
-        /* If we're processing the queue, we want don't want to queue this
-         * message.
+        /*
+         * If we're processing the queue, we don't want to queue this message.
          *
          * Also, if this request has a transno less than the one we're waiting
          * for, we should process it now.  It could (and currently always will)
          * be an open request for a descriptor that was opened some time ago.
          *
-         * Also, a resent, replayed request that has already been
-         * handled will pass through here and be processed immediately.
+         * Also, a resent, replayed request that has already been handled will
+         * pass through here and be processed immediately.
          */
         if (obd->obd_processing_task == cfs_curproc_pid() ||
             transno < obd->obd_next_recovery_transno) {
index 708b52f..bc30961 100644 (file)
@@ -2996,10 +2996,6 @@ static void mdt_fini(const struct lu_context *ctx, struct mdt_device *m)
         upcall_cache_cleanup(m->mdt_identity_cache);
         m->mdt_identity_cache = NULL;
 
-        if (m->mdt_rootsquash_info)
-                OBD_FREE_PTR(m->mdt_rootsquash_info);
-
-        mdt_fs_cleanup(ctx, m);
         ping_evictor_stop();
         mdt_stop_ptlrpc_service(m);
 
@@ -3012,6 +3008,11 @@ static void mdt_fini(const struct lu_context *ctx, struct mdt_device *m)
         mdt_seq_fini_cli(m);
         mdt_fld_fini(ctx, m);
 
+        if (m->mdt_rootsquash_info) {
+                OBD_FREE_PTR(m->mdt_rootsquash_info);
+                m->mdt_rootsquash_info = NULL;
+        }
+
         mdt_fs_cleanup(ctx, m);
 
         /* finish the stack */