X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=scandir.cc;h=3634b59e7d57ae0b83397299e04dd77b41b86f94;hb=3addc0c5e928bc7b0fc6ff1ef8b7dff7263cf3ea;hp=aa7ce53b79da0e51cd83c8d0797a502f8f1d8b5a;hpb=cac644d993d130efd8d29539de6557b18c9b737e;p=cumulus.git diff --git a/scandir.cc b/scandir.cc index aa7ce53..3634b59 100644 --- a/scandir.cc +++ b/scandir.cc @@ -68,7 +68,7 @@ void metadata_flush() /* Write current metadata information to a new object. */ LbsObject *meta = new LbsObject; - meta->set_group("root"); + meta->set_group("metadata"); meta->set_data(m.data(), m.size()); meta->write(tss); meta->checksum(); @@ -194,7 +194,7 @@ int64_t dumpfile(int fd, dictionary &file_info) } LbsObject *i = new LbsObject; - i->set_group("indirect"); + i->set_group("metadata"); i->set_data(blocklist.data(), blocklist.size()); i->write(tss); file_info["data"] = "@" + i->get_name(); @@ -403,8 +403,10 @@ int main(int argc, char *argv[]) while (1) { static struct option long_options[] = { - {"localdb", 1, 0, 0}, // 0 - {"exclude", 1, 0, 0}, // 1 + {"localdb", 1, 0, 0}, // 0 + {"exclude", 1, 0, 0}, // 1 + {"filter", 1, 0, 0}, // 2 + {"filter-extension", 1, 0, 0}, // 3 {NULL, 0, 0, 0}, }; @@ -422,6 +424,12 @@ int main(int argc, char *argv[]) case 1: // --exclude excludes.push_back(optarg); break; + case 2: // --filter + filter_program = optarg; + break; + case 3: // --filter-extension + filter_extension = optarg; + break; default: fprintf(stderr, "Unhandled long option!\n"); return 1; @@ -479,15 +487,16 @@ int main(int argc, char *argv[]) const string md = metadata_root.str(); LbsObject *root = new LbsObject; - root->set_group("root"); + root->set_group("metadata"); root->set_data(md.data(), md.size()); root->write(tss); root->checksum(); segment_list.insert(root->get_ref().get_segment()); - descriptor << "Root: " << root->get_ref().to_string() << "\n"; + descriptor << "Format: LBS Snapshot v0.1\n"; strftime(desc_buf, sizeof(desc_buf), "%Y-%m-%d %H:%M:%S %z", &time_buf); descriptor << "Date: " << desc_buf << "\n"; + descriptor << "Root: " << root->get_ref().to_string() << "\n"; delete root;