code: func (s *Store) KVSLock(idx uint64, entry *structs.DirEntry) (bool, error) {
  	tx := s.db.Txn(true)
  	defer tx.Abort()
  
  	locked, err := s.kvsLockTxn(tx, idx, entry)
  	if !locked || err != nil {
  		return false, err
  	}
  
  	tx.Commit()
  	return true, nil
  }
docs: // KVSLock is similar to KVSSet but only performs the set if the lock can be
  // acquired.