You can update the AS5.1's VFS to 2.2.0.GA and use the -Djboss.vfs.forceCanonical=true.
Thanks a lot for the hint.
If I understand correctly this also means that I will have to insret canonical paths to vfs.xml like this:
<entry> <key>file:/opt/app/4.0/server/app/deploy</key> <value><inject bean="VfsNamesExceptionHandler"/></value> </entry> <entry> <key>file:/opt/app/4.0/server/app/farm</key> <value><inject bean="VfsNamesExceptionHandler"/></value> </entry>
"Unfortunately" the app is also relocatable so providing absolute paths within vfs.xml is not a good idea during deployment since the app might also be installed at /opt/xy/app or /usr/local/app or somewhere else.
I just tried to use the default notation in vfs.xml:
<entry>
<key>${jboss.server.home.url}deploy</key>
<value><inject bean="VfsNamesExceptionHandler"/></value>
</entry>
<entry>
<key>${jboss.server.home.url}farm</key>
<value><inject bean="VfsNamesExceptionHandler"/></value>
</entry>
But after 1 hour it started to grow again. So it seems that jboss.server.home.url is probably not expanded as a canonical path and therefore it does not match. Is this a bug or am I just misunderstanding the functionality here?