code: func (s *Session) FsyncLock() error {
  	return s.Run(bson.D{{"fsync", 1}, {"lock", true}}, nil)
  }
docs: // FsyncLock locks all writes in the specific server the session is
  // established with and returns. Any writes attempted to the server
  // after it is successfully locked will block until FsyncUnlock is
  // called for the same server.
  //
  // This method works on secondaries as well, preventing the oplog from
  // being flushed while the server is locked, but since only the server
  // connected to is locked, for locking specific secondaries it may be
  // necessary to establish a connection directly to the secondary (see
  // Dial's connect=direct option).
  //
  // As an important caveat, note that once a write is attempted and
  // blocks, follow up reads will block as well due to the way the
  // lock is internally implemented in the server. More details at:
  //
  //     https://jira.mongodb.org/browse/SERVER-4243
  //
  // FsyncLock is often used for performing consistent backups of
  // the database files on disk.
  //
  // Relevant documentation:
  //
  //     http://www.mongodb.org/display/DOCS/fsync+Command
  //     http://www.mongodb.org/display/DOCS/Backups
  //