Skip to content

Commit 2e54b2a

Browse files
authored
Merge pull request ceph#65099 from Naveenaidu/wip-naveen-bz-2251015-docs-clear-snapset
ceph-objectstore-tool: update `clear-snapset` command doc Reviewed-by: Ronen Friedman <[email protected]>
2 parents 71b1ec2 + 68debbf commit 2e54b2a

File tree

2 files changed

+32
-5
lines changed

2 files changed

+32
-5
lines changed

qa/standalone/scrub/osd-scrub-snaps.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,6 @@ function create_scenario() {
153153
ceph-objectstore-tool --data-path $dir/${osd} "$JSON" clear-snapset clone_overlap || return 1
154154
JSON="$(ceph-objectstore-tool --data-path $dir/${osd} --head --op list obj11)"
155155
ceph-objectstore-tool --data-path $dir/${osd} "$JSON" clear-snapset clones || return 1
156-
JSON="$(ceph-objectstore-tool --data-path $dir/${osd} --head --op list obj12)"
157-
ceph-objectstore-tool --data-path $dir/${osd} "$JSON" clear-snapset head || return 1
158156
JSON="$(ceph-objectstore-tool --data-path $dir/${osd} --head --op list obj13)"
159157
ceph-objectstore-tool --data-path $dir/${osd} "$JSON" clear-snapset snaps || return 1
160158
JSON="$(ceph-objectstore-tool --data-path $dir/${osd} --head --op list obj14)"

src/tools/ceph_objectstore_tool.cc

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3599,6 +3599,9 @@ void usage(po::options_description &desc)
35993599
cerr << "ceph-objectstore-tool ... <object> set-size" << std::endl;
36003600
cerr << "ceph-objectstore-tool ... <object> clear-data-digest" << std::endl;
36013601
cerr << "ceph-objectstore-tool ... <object> remove-clone-metadata <cloneid>" << std::endl;
3602+
cerr << "ceph-objectstore-tool ... <object> clear-snapset "
3603+
"[(corrupt|seq|snaps|clones|clone_size|clone_overlap|size)]"
3604+
<< std::endl;
36023605
cerr << std::endl;
36033606
cerr << "<object> can be a JSON object description as displayed" << std::endl;
36043607
cerr << "by --op list." << std::endl;
@@ -3609,6 +3612,19 @@ void usage(po::options_description &desc)
36093612
cerr << std::endl;
36103613
cerr << "The optional [file] argument will read stdin or write stdout" << std::endl;
36113614
cerr << "if not specified or if '-' specified." << std::endl;
3615+
cerr << std::endl;
3616+
cerr << "clear-snapset options:" << std::endl;
3617+
cerr << " clear-snapset : by default, clear clones, "
3618+
"clone_size and clone_overlap"
3619+
<< std::endl;
3620+
cerr << " clear-snapset corrupt : clear entire snapset" << std::endl;
3621+
cerr << " clear-snapset seq : clear snapset.seq" << std::endl;
3622+
cerr << " clear-snapset clone_size : clear clone_size" << std::endl;
3623+
cerr << " clear-snapset clone_overlap : clear clone_overlap" << std::endl;
3624+
cerr << " clear-snapset clones : clear clones" << std::endl;
3625+
cerr << " clear-snapset snaps : clear clone_snaps" << std::endl;
3626+
cerr << " clear-snapset size : break all clone sizes by adding 1"
3627+
<< std::endl;
36123628
}
36133629

36143630
bool ends_with(const string& check, const string& ending)
@@ -4691,9 +4707,22 @@ int main(int argc, char **argv)
46914707
ret = clear_data_digest(fs.get(), coll, ghobj);
46924708
goto out;
46934709
} else if (objcmd == "clear-snapset") {
4694-
// UNDOCUMENTED: For testing zap SnapSet
4695-
// IGNORE extra args since not in usage anyway
4696-
if (!ghobj.hobj.has_snapset()) {
4710+
if (vm.count("arg1") == 0) {
4711+
usage(desc);
4712+
ret = 1;
4713+
goto out;
4714+
}
4715+
4716+
if (vm.count("arg2") != 0) {
4717+
if (arg2 != "corrupt" && arg2 != "seq" && arg2 != "snaps" &&
4718+
arg2 != "clones" && arg2 != "clone_size" &&
4719+
arg2 != "clone_overlap" && arg2 != "size") {
4720+
usage(desc);
4721+
ret = 1;
4722+
goto out;
4723+
}
4724+
}
4725+
if (!ghobj.hobj.has_snapset()) {
46974726
cerr << "'" << objcmd << "' requires a head or snapdir object" << std::endl;
46984727
ret = 1;
46994728
goto out;

0 commit comments

Comments
 (0)