summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-01-24 20:26:15 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2014-01-24 20:26:15 +0000
commitf46058f4e138f8c9adf4526569440d17ec6b701e (patch)
tree10a3658c142458f790f03cf5aa96f06d12242028
parent2fd1033c59f15f71b0184bdd99fd701762cbcd27 (diff)
downloadrabbitmq-server-f46058f4e138f8c9adf4526569440d17ec6b701e.tar.gz
turns out we needed recursive=true after all
...but actually do this whole thing differently
-rw-r--r--src/rabbit_recovery_terms.erl14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rabbit_recovery_terms.erl b/src/rabbit_recovery_terms.erl
index 352f70b5..efb94b81 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()