code: func (fs *FileStore) GetExclusiveLock() (bool, error) {
  	fs.Lock()
  	defer fs.Unlock()
  	if fs.lockFile != nil {
  		return true, nil
  	}
  	f, err := util.CreateLockFile(filepath.Join(fs.fm.rootDir, lockFileName))
  	if err != nil {
  		if err == util.ErrUnableToLockNow {
  			return false, nil
  		}
  		return false, err
  	}
  	// We must keep a reference to the file, otherwise, it `f` is GC'ed,
  	// its file descriptor is closed, which automatically releases the lock.
  	fs.lockFile = f
  	return true, nil
  }
docs: // GetExclusiveLock implements the Store interface