Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-4472

FSFS writes lock/digest in wrong order

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • 1.9.0
    • libsvn_fs_fs
    • None

    Description

      When creating a lock the FSFS code writes the lock file before adding the lock
      to the digest files of the parents.  This is the wrong order, it should add the
      lock to the digest files before creating the lock file.  A problem occurs if the
      server is interrupted part way through the lock operation and so doesn't add the
      digest entries for a lock.
      
      If the lock file for /A/B/f exists without the digest entries the answer to the
      questions:
      
       - Is file /A/B/f locked?
       - Is there a lock under /A?
      
      will be different and so the repository is inconsistent, e.g. an attempt to
      delete /A/B/f will fail while deleting /A will succeed.
      
      If the digest file entries exist without the lock file the answer to the
      questions is "no lock" in both cases and the repository is consistent.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            philipm Philip Martin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: