Philip Martin <philip.mar...@wandisco.com> writes: > Stefan Fuhrmann <stefan.fuhrm...@wandisco.com> writes: > >> Excellent analysis, Philip! With r1404112, we use "plain" >> APR mmap code with almost no coding overhead. >> The only downside is that we now have a temporary >> file sitting in the db folder. > > Error handling needs attention: > > $ svnadmin create repo > $ svnadmin dump repo > /dev/null > $ chmod -rw repo/db/rev-prop-atomicsShm > $ svnadmin dump repo > /dev/null > Segmentation fault
We are mmaping a 64k file, that's bigger than a disk block on lots of filesystems so updates are not atomic. Do we have to consider corruption: $ svnadmin create repo $ dd if=/dev/urandom of=repo/db/rev-prop-atomicsShm bs=64k count=1 $ svnadmin verify repo Segmentation fault $ svnadmin recover repo Repository lock acquired. Please wait; recovering the repository may take some time... Recovery completed. The latest repos revision is 0. $ svnadmin verify repo Segmentation fault Perhaps recover should delete the file? -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download