First reported on ML http://lists.linuxtogo.org/pipermail/openembedded-core/2012-August/027125.html and then also in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897 The problem is that when someone is using SSTATE_MIRRORS then all packages are downloaded first to sstate-cache and then only symlink is created in right prefix. So the problem why this prefix dir was added - number of entries in sstate-cache dir, get actually worse for people with SSTATE_MIRRORS (64^2 new directories - if all used). And they already had two times more entries, because fetcher stores .done file too.
Patches on the bitbake list to address these issues. file:// urls should just work. http mirrors need to be specified as: SSTATE_MIRRORS = "file://.* http://192.168.1.69/PATH;downloadfilename=PATH" Once the bitbake patches merge, we need to update local.conf.sample files and docs.
Fixed with http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=21efb536089b1fd6f00c1174bb3fcdbc5dfd8870 and preceeding bitbake patches.