Add a setting for fsck to check connectivity only
The object checks may take a long time and sometimes we are only interested in connectivity check. This is similar to 'git fsck --connectivity-only'. Change-Id: I654e8fdccdb16d796f920088429d188cc96734bc Signed-off-by: Zhen Chen <czhen@google.com>
This commit is contained in:
parent
b88204edfb
commit
c93c653ccf
|
@ -69,6 +69,7 @@ public class DfsFsck {
|
|||
private final DfsRepository repo;
|
||||
private final DfsObjDatabase objdb;
|
||||
private ObjectChecker objChecker = new ObjectChecker();
|
||||
private boolean connectivityOnly;
|
||||
|
||||
/**
|
||||
* Initialize DFS fsck.
|
||||
|
@ -97,7 +98,9 @@ public FsckError check(ProgressMonitor pm) throws IOException {
|
|||
}
|
||||
|
||||
FsckError errors = new FsckError();
|
||||
checkPacks(pm, errors);
|
||||
if (!connectivityOnly) {
|
||||
checkPacks(pm, errors);
|
||||
}
|
||||
checkConnectivity(pm, errors);
|
||||
return errors;
|
||||
}
|
||||
|
@ -174,4 +177,14 @@ private void checkConnectivity(ProgressMonitor pm, FsckError errors)
|
|||
public void setObjectChecker(ObjectChecker objChecker) {
|
||||
this.objChecker = objChecker;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param connectivityOnly
|
||||
* whether fsck should bypass object validity and integrity
|
||||
* checks and only check connectivity. The default is
|
||||
* {@code false}, meaning to run all checks.
|
||||
*/
|
||||
public void setConnectivityOnly(boolean connectivityOnly) {
|
||||
this.connectivityOnly = connectivityOnly;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue