private void validate(
        boolean supportGlobalLocking,
        int previousVersionsMax,
        int nextVersion,
        FileSystem fs,
        Path finalMetadataFile)
        throws IOException {
    if (!supportGlobalLocking) {
      fastFailIfDirtyCommit(previousVersionsMax, nextVersion, fs, finalMetadataFile);
      cleanAllTooOldDirtyCommit(fs, previousVersionsMax);
    }
  }
TableOperations implementation for file systems.

<p>For normal file-system(support atomic non-overwriting rename). Users can use it directly
without configuring additional lockManager.

<p>For object storage(not support atomic non-overwriting rename), user should choose a suitable
lockManager implementation.

<p>This maintains metadata in a "metadata" folder under the table location.
iceberg/patched-iceberg-core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java