diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-24 20:26:15 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-24 20:26:15 +0000 |
| commit | 923837c74ced836fe903f3d55f7255f1d29c1259 (patch) | |
| tree | 10a3658c142458f790f03cf5aa96f06d12242028 | |
| parent | d60152edecb769371f3f102040eff987129e07f0 (diff) | |
| download | rabbitmq-server-git-923837c74ced836fe903f3d55f7255f1d29c1259.tar.gz | |
turns out we needed recursive=true after all
...but actually do this whole thing differently
| -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() |
