diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-30 15:58:19 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2014-01-30 15:58:19 +0000 |
commit | 95bce23e626c5911ea7787733437f0d8b6ed42cd (patch) | |
tree | 43e99ac8ac98d6f190957757e08167d1dfd829e1 | |
parent | 809d09982022889cb53e00323a69fcb07787dabe (diff) | |
download | rabbitmq-server-bug25827.tar.gz |
unbreak durable queue dir cleanupbug25827
all_queue_directory_names returns just names, not paths
Also, gain some efficiency by performing just one invocation of
rabbit_file:recursive_delete/1, with all dirs.
And some cosmetics.
-rw-r--r-- | src/rabbit_queue_index.erl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index b5a316f0..919b7376 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -358,9 +358,10 @@ start(DurableQueueNames) -> %% Any queue directory we've not been asked to recover is considered garbage QueuesDir = queues_dir(), - [rabbit_file:recursive_delete([QueueDir]) || - QueueDir <- all_queue_directory_names(QueuesDir), - not sets:is_element(filename:basename(QueueDir), DurableDirectories)], + rabbit_file:recursive_delete( + [filename:join(QueuesDir, DirName) || + DirName <- all_queue_directory_names(QueuesDir), + not sets:is_element(DirName, DurableDirectories)]), rabbit_recovery_terms:clear(), @@ -373,9 +374,8 @@ stop() -> rabbit_recovery_terms:stop(). all_queue_directory_names(Dir) -> case rabbit_file:list_dir(Dir) of - {ok, Entries} -> [ Entry || Entry <- Entries, - rabbit_file:is_dir( - filename:join(Dir, Entry)) ]; + {ok, Entries} -> [E || E <- Entries, + rabbit_file:is_dir(filename:join(Dir, E))]; {error, enoent} -> [] end. |