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

FSFS writes lock/digest in wrong order

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: all
    • Fix Version/s: 1.9.0
    • Component/s: libsvn_fs_fs
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: