A coworker of mine had to resort to strace to find out why he got the "Can't create metadata cache directory." message upon "zypper ref".
Of course, it was ENOSPC ;-)
But it would be nice if the reason of failure was added to the message.
I thought it might be as easy as adding a "%m" to the error string, however, looking at the code I found that there is translations involved and I have no idea if it is as easy, hence no patch :-)