Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/repo: Enable locking by default, make API non-experimental #1555

Closed

Commits on Apr 24, 2018

  1. lib/repo: Enable locking by default, but drop external API

    The code has been sitting around for a while but since I disabled
    it by default, I doubt anyone is really using it or relying on it.
    
    This patch and turns on locking by default, and also drops the
    API which was only public in the experimental API builds.
    Conceptually these are two distinct things, and we
    may actually want to split up the patches.
    
    I don't think this will break anyone, but it's hard to say for sure.
    It's also going to be hard to find out until we actually release
    I suspect...
    
    But anyone who is broken should be able to add `locking=false` into
    their repo config.  On the flip side Endless has been shipping with
    this enabled and it is reported to help.
    
    The reason to drop the APIs: I'm a bit concerned about the interactions over time
    between libostree's use of the API and any apps that start using it.
    For example, if an app specifies a SHARED lock in their code, then
    later internally we decide to temporarily grab an `EXCLUSIVE`, but the
    app had a second thread/process that was `EXCLUSIVE` already, and
    that process was waiting on the first bit of code, then we could
    deadlock. I can't think of a real world situation where this would happen
    yet though.
    
    We are likely to in the future have say `fsck` take an external lock,
    `checkout` grab a shared one, etc.
    cgwalters committed Apr 24, 2018
    Configuration menu
    Copy the full SHA
    77b0ef1 View commit details
    Browse the repository at this point in the history