diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_recovery_terms.erl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rabbit_recovery_terms.erl b/src/rabbit_recovery_terms.erl index 352f70b511..efb94b81bc 100644 --- a/src/rabbit_recovery_terms.erl +++ b/src/rabbit_recovery_terms.erl @@ -67,16 +67,18 @@ upgrade_recovery_terms() -> open_table(), try QueuesDir = filename:join(rabbit_mnesia:dir(), "queues"), - DotFiles = filelib:fold_files(QueuesDir, "^clean\.dot$", false, - fun(F, Acc) -> [F|Acc] end, []), + Dirs = case rabbit_file:list_dir(QueuesDir) of + {ok, Entries} -> Entries; + {error, _} -> [] + end, [begin + File = filename:join([QueuesDir, Dir, "clean.dot"]), case rabbit_file:read_term_file(File) of - {ok, Terms} -> Key = filename:basename(filename:dirname(File)), - ok = store(Key, Terms); - _ -> ok + {ok, Terms} -> ok = store(Dir, Terms); + {error, _} -> ok end, file:delete(File) - end || File <- DotFiles], + end || Dir <- Dirs], ok after close_table() |
