Philip Martin wrote on Fri, Jul 01, 2011 at 15:01:52 +0100: > Daniel Shahaf <danie...@elego.de> writes: > > > Unrelated question: how do we handle the case of a client, linked to > > libsvn_fs 1.6, that opens an svn_fs_t object and then, concurrently, > > someone runs 'svnadmin1.7 upgrade'? > > > > The FS object is now invalid (and must be closed), but would the old > > client detect that? For that matter, does our current code error out if > > db/format is bumped under its feet? > > If all the clients goes via libsvn_repos then the upgrade will block > until there are no readers and then readers will block until the upgrade > is complete, at which point 1.6 readers will fail because they don't > support the upgraded format.
Where does that happen? svn_repos_upgrade2() calls get_repos() which calls lock_repos() which is a no-op if the underlying filesystem is FSFS.