Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-5914 lfsck: dt_lookup() LBUG
[fs/lustre-release.git]
/
lustre
/
lfsck
/
lfsck_engine.c
diff --git
a/lustre/lfsck/lfsck_engine.c
b/lustre/lfsck/lfsck_engine.c
index
196eb43
..
950c3ec
100644
(file)
--- a/
lustre/lfsck/lfsck_engine.c
+++ b/
lustre/lfsck/lfsck_engine.c
@@
-20,7
+20,7
@@
* GPL HEADER END
*/
/*
* GPL HEADER END
*/
/*
- * Copyright (c) 201
2, 2013
, Intel Corporation.
+ * Copyright (c) 201
3, 2014
, Intel Corporation.
*/
/*
* lustre/lfsck/lfsck_engine.c
*/
/*
* lustre/lfsck/lfsck_engine.c
@@
-1289,7
+1289,7
@@
out:
}
/**
}
/**
- * Notify the LFSCK event to the insta
t
nces on remote servers.
+ * Notify the LFSCK event to the instances on remote servers.
*
* The LFSCK assistant thread notifies the LFSCK instances on other
* servers (MDT/OST) about some events, such as start new scanning,
*
* The LFSCK assistant thread notifies the LFSCK instances on other
* servers (MDT/OST) about some events, such as start new scanning,
@@
-1335,8
+1335,7
@@
static int lfsck_assistant_notify_others(const struct lu_env *env,
if (com->lc_type != LFSCK_TYPE_LAYOUT)
goto next;
if (com->lc_type != LFSCK_TYPE_LAYOUT)
goto next;
- lr->lr_valid = LSV_SPEED_LIMIT | LSV_ERROR_HANDLE | LSV_DRYRUN |
- LSV_ASYNC_WINDOWS | LSV_CREATE_OSTOBJ;
+ lr->lr_valid = LSV_SPEED_LIMIT | LSV_ERROR_HANDLE | LSV_DRYRUN;
lr->lr_speed = bk->lb_speed_limit;
lr->lr_version = bk->lb_version;
lr->lr_param |= bk->lb_param;
lr->lr_speed = bk->lb_speed_limit;
lr->lr_version = bk->lb_version;
lr->lr_param |= bk->lb_param;
@@
-1616,6
+1615,7
@@
int lfsck_assistant_engine(void *args)
struct l_wait_info lwi = { 0 };
int rc = 0;
int rc1 = 0;
struct l_wait_info lwi = { 0 };
int rc = 0;
int rc1 = 0;
+ int rc2;
ENTRY;
CDEBUG(D_LFSCK, "%s: %s LFSCK assistant thread start\n",
ENTRY;
CDEBUG(D_LFSCK, "%s: %s LFSCK assistant thread start\n",
@@
-1725,11
+1725,16
@@
int lfsck_assistant_engine(void *args)
com->lc_time_last_checkpoint +
cfs_time_seconds(LFSCK_CHECKPOINT_INTERVAL);
com->lc_time_last_checkpoint +
cfs_time_seconds(LFSCK_CHECKPOINT_INTERVAL);
+ CDEBUG(D_LFSCK, "%s: LFSCK assistant sync before "
+ "the second-stage scaning\n",
+ lfsck_lfsck2name(lfsck));
+
/* Flush async updates before handling orphan. */
/* Flush async updates before handling orphan. */
- dt_sync(env, lfsck->li_next);
+
rc2 =
dt_sync(env, lfsck->li_next);
CDEBUG(D_LFSCK, "%s: LFSCK assistant phase2 "
CDEBUG(D_LFSCK, "%s: LFSCK assistant phase2 "
- "scan start\n", lfsck_lfsck2name(lfsck));
+ "scan start, synced: rc = %d\n",
+ lfsck_lfsck2name(lfsck), rc2);
if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_NO_DOUBLESCAN))
GOTO(cleanup2, rc = 0);
if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_NO_DOUBLESCAN))
GOTO(cleanup2, rc = 0);
@@
-1846,8
+1851,14
@@
cleanup2:
rc = rc1;
}
rc = rc1;
}
+ CDEBUG(D_LFSCK, "%s: LFSCK assistant sync before exit\n",
+ lfsck_lfsck2name(lfsck));
+
/* Flush async updates before exit. */
/* Flush async updates before exit. */
- dt_sync(env, lfsck->li_next);
+ rc2 = dt_sync(env, lfsck->li_next);
+
+ CDEBUG(D_LFSCK, "%s: LFSCK assistant synced before exit: rc = %d\n",
+ lfsck_lfsck2name(lfsck), rc2);
/* Under force exit case, some requests may be just freed without
* verification, those objects should be re-handled when next run.
/* Under force exit case, some requests may be just freed without
* verification, those objects should be re-handled when next run.