X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Fvunify.c;h=4dd8edfa3cd068fa78436b96130d3e4f7a9f7166;hb=a917f24ef7b003dcef54a3db2644cf9cb4bc2db2;hp=2a25887a9f3173d0b44e2a52998b4985b545f3ab;hpb=a0ceb55421b61a9cb8d0929cb6cc9c50f026062f;p=util-vserver.git diff --git a/util-vserver/src/vunify.c b/util-vserver/src/vunify.c index 2a25887..4dd8edf 100644 --- a/util-vserver/src/vunify.c +++ b/util-vserver/src/vunify.c @@ -169,7 +169,7 @@ checkDirEntry(PathInfo const *path, // abort when it is not matching an allowed entry skip_reason.r = rsEXCL_DST; skip_reason.d.list = &info->dst_list; - if (!MatchList_compare(&info->dst_list, path->d)) return 0; + if (MatchList_compare(&info->dst_list, path->d)!=stINCLUDE) return 0; // Now, go through the reference vservers and do the lightweigt list-check // first and compare then the fstat's. @@ -177,7 +177,7 @@ checkDirEntry(PathInfo const *path, cache_stat = 0; skip_reason.r = rsEXCL_SRC; skip_reason.d.list = mlist; - if (MatchList_compare(mlist, path->d) && + if (MatchList_compare(mlist, path->d)==stINCLUDE && checkFstat(mlist, d_path, path, &cache_stat, dst_stat, src_stat)) { // Failed the check or is it a symlink which can not be handled @@ -248,16 +248,16 @@ doit(struct MatchList const *mlist, PathInfo path = mlist->root; char path_buf[ENSC_PI_APPSZ(path, *src_path)]; - if (global_args->do_dry_run || global_args->verbosity>0) { + if (global_args->do_dry_run || Global_getVerbosity()>=2) { if (global_args->do_revert) WRITE_MSG(1, "deunifying '"); else WRITE_MSG(1, "unifying '"); write(1, src_path->d, src_path->l); WRITE_MSG(1, "'"); - if (global_args->verbosity>2) { + if (Global_getVerbosity()>=4) { WRITE_MSG(1, " (from "); - if (global_args->verbosity==2 && mlist->id.d) + if (Global_getVerbosity()==4 && mlist->id.d) write(1, mlist->id.d, mlist->id.l); else write(1, mlist->root.d, mlist->root.l); @@ -323,14 +323,15 @@ visitDirEntry(struct dirent const *ent) (match=checkDirEntry(&path, &d_path, &is_dir, &src_stat, &f_stat))==0) { bool is_link = is_dotfile ? false : S_ISLNK(f_stat.st_mode); - if (global_args->verbosity>1 && + if (Global_getVerbosity()>=1 && + (Global_getVerbosity()>=3 || skip_reason.r!=rsUNIFIED) && ((!is_dotfile && !is_link) || - (global_args->verbosity>4 && is_dotfile) || - (global_args->verbosity>4 && is_link)) ) { + (Global_getVerbosity()>=6 && is_dotfile) || + (Global_getVerbosity()>=6 && is_link)) ) { WRITE_MSG(1, " skipping '"); write(1, path.d, path.l); WRITE_MSG(1, "'"); - if (global_args->verbosity>2) printSkipReason(); + if (Global_getVerbosity()>=2) printSkipReason(); WRITE_MSG(1, "\n"); } return 0; @@ -405,7 +406,7 @@ int main(int argc, char *argv[]) global_info.state.l = 0; - if (global_args->verbosity>3) WRITE_MSG(1, "Starting to traverse directories...\n"); + if (Global_getVerbosity()>=1) WRITE_MSG(1, "Starting to traverse directories...\n"); Echdir(global_info.dst_list.root.d); visitDir("/", 0);