get_cdir(cid, old_coll, sizeof(old_coll));
get_cdir(ncid, new_coll, sizeof(new_coll));
- _set_global_replay_guard(cid, spos);
- _set_replay_guard(cid, spos);
-
if (_check_replay_guard(cid, spos) < 0) {
return 0;
}
return _collection_remove_recursive(cid, spos);
}
+ if (!collection_exists(cid)) {
+ if (replaying) {
+ // already happened
+ return 0;
+ } else {
+ return -ENOENT;
+ }
+ }
+ _set_global_replay_guard(cid, spos);
+
int ret = 0;
if (::rename(old_coll, new_coll)) {
if (replaying && !btrfs_stable_commits &&