1. A method implemented in a serverless distributed file system, the method comprising: receiving a request to open an object with one or more selected locks; checking whether the one or more selected locks conflict with a lock already granted to another application, denying the request to open the object if the one or more selected locks conflict with a lock already granted to another application; and granting the request to open the object only if the one or more selected locks do not conflict with a lock already granted to another application, wherein the granting comprises: attempting to upgrade a particular selected lock of the one or more selected locks to a broader scope than the one or more selected locks indicated in the request such that upgrading the particular selected lock to the broader scope comprises upgrading the particular selected lock to a directory lock; and activating a lease on the one or more selected locks.