does mhonarc do a directory listing?

2009-04-01 23:00:36
This question is a little esoteric.

I decided to try improving mhonarc's archiving speed with one of those
whiz-bang solid state drives from Intel. Unfortunately, they are
pretty low capacity and I can't fit all the data. So I decided to go
with a hybrid strategy; all new writes go to the SSD, but tons of
files still exist on the rotating rust. The way to do this is a union
mount, and Linux has tons implementation floating around. I chose one
called aufs. Unfortunately, aufs is not that great when listing
directory contents. I *think* mhonarc is doing a listdir operation as
a safety check to avoid clobbering existing message files. (I tried to
find out via strace, but managed instead to confuse myself). Is this
actually true, and if so, can the directory listing be reasonably
turned off?

$ time ls -U /mnt/rotating-rust | wc -l  # cached

real    0m2.224s
user    0m1.600s
sys     0m0.900s

$ time ls -U /mnt/whizzy-ssd | wc -l

real    0m0.013s
user    0m0.000s
sys     0m0.010s

$ time ls  -U /mnt/the-unholy-union | wc -l

real    1m10.115s
user    0m0.540s
sys     1m9.430s