}
} catch (FileSystemException e) {
throw e;
} catch (Exception e) {
throw new FileSystemException(e);
}
// check for unsupported filesystem options
// (an unsupported INCOMPAT feature means that the fs may not be mounted
// at all)
if (hasIncompatFeature(Ext2Constants.EXT2_FEATURE_INCOMPAT_COMPRESSION)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (COMPRESSION) disallows mounting");
if (hasIncompatFeature(Ext2Constants.EXT2_FEATURE_INCOMPAT_META_BG)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (META_BG) disallows mounting");
if (hasIncompatFeature(Ext2Constants.EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (JOURNAL_DEV) disallows mounting");
// if (hasIncompatFeature(Ext2Constants.EXT3_FEATURE_INCOMPAT_RECOVER))
// throw new FileSystemException(getDevice().getId() +
// " Unsupported filesystem feature (RECOVER) disallows mounting");
// if (hasIncompatFeature(Ext2Constants.EXT4_FEATURE_INCOMPAT_EXTENTS))
// throw new FileSystemException(getDevice().getId() +
// " Unsupported filesystem feature (EXTENTS) disallows mounting");
if (hasIncompatFeature(Ext2Constants.EXT4_FEATURE_INCOMPAT_64BIT)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (64BIT) disallows mounting");
if (hasIncompatFeature(Ext2Constants.EXT4_FEATURE_INCOMPAT_MMP)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (MMP) disallows mounting");
if (hasIncompatFeature(Ext2Constants.EXT4_FEATURE_INCOMPAT_FLEX_BG)) throw new FileSystemException(
getDevice().getId() + " Unsupported filesystem feature (FLEX_BG) disallows mounting");
// an unsupported RO_COMPAT feature means that the filesystem can only
// be mounted readonly
if (hasROFeature(Ext2Constants.EXT2_FEATURE_RO_COMPAT_LARGE_FILE)) {