rog7...@web.de wrote on Thu, Aug 09, 2012 at 19:18:40 +0200: > Hello, > > I'm wondering about some files in the subfolders of db/locks > (Subversion 1.6, FSFS). The existence of a lot of files in this > directory seems to slow down some operations, especially with > TortoiseSVN. I understand, that each locked file in the repository > leads to a file (or two?) in db/locks. But what is the intention of > files in this directory, if there are no locks in a repository? > > We have a repository, which had some locked files. These locks have > been removed and the output of 'svnadmin lslocks ...' is empty, now. > But db/locks still contains files. All of them look like the example > below. They contain only a different amount of hashes, but no path > to locked files in the repository. > > ------ > K 8 > children > V 99 > a9025cf28195868e96018bbceeda0822 > d2fb526b8531d2ad89ddb92cfd0b9db4 > 00ff6f20f3a3286f3c9567e346ddd755 > > END > ------ > > > I found some explanation about the internal structure of FSFS, but > didn't understand all parts regarding the db/lock folder: > > http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure > > I'm not subscribed to this list and would appreciate being > explicitly Cc:ed in any response. Thanks. >
If you lock /foo/bar/baz then db/locks/${hash} files are created for each of / , /foo , /foo/bar . Consequently, if (a) there are no locks in the repository, and (b) no locks are being added or deleted (eg: the server is in read-only mode), then it ought to be safe to remove all those hashes. See libsvn_fs_fs/locks.c (and .h) for the gory details... > > Ingo