diff --git a/src/rpc_job.cc b/src/rpc_job.cc index 58e5bd50..e3455d0f 100644 --- a/src/rpc_job.cc +++ b/src/rpc_job.cc @@ -40,10 +40,8 @@ ::pair_s do_file_actions( ::vector_s* unlnks/*out*/ , ::vmap_s do_file_actions( ::vector_s* unlnks/*out*/ , ::vmap_spush_back(f) ; ok &= done ; } break ; - case FileActionTag::Rmdir : + case FileActionTag::Uniquify : if (uniquify(nfs_guard.change(f))) append_to_string(msg,"uniquified ",mk_file(f),'\n') ; break ; + case FileActionTag::Mkdir : mkdir(f,nfs_guard) ; break ; + case FileActionTag::Rmdir : if (!keep_dirs.contains(f)) try { rmdir(nfs_guard.change(f)) ; } catch (::string const&) { for( ::string d=f ; +d ; d = dir_name(d) ) if (!keep_dirs.insert(d).second) break ; } // if a dir cannot rmdir'ed, no need to try those uphill