libext2fs: fix ext2fs_close() when MMP is not enabled

If MMP support is not configured, then ext2fs_mmp_stop() will always
return the error EXT2_ET_OP_NOT_SUPPORTED.  Unfortunately,
ext2fs_close() and tune2fs call ext2fs_mmp_stop() unconditionally.  So
if the file system does not have MMP enabled, fix ext2fs_mmp_stop() to
return success even if CONFIG_MMP is not enabled, so that
ext2fs_close() and tune2fs doesn't fail for no good reason.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Theodore Ts'o 2015-05-25 22:18:43 -04:00
parent 81f95d43d5
commit 766c142891

View File

@ -398,6 +398,10 @@ mmp_error:
return retval; return retval;
#else #else
if (!(fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) ||
!(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP))
return 0;
return EXT2_ET_OP_NOT_SUPPORTED; return EXT2_ET_OP_NOT_SUPPORTED;
#endif #endif
} }
@ -440,6 +444,10 @@ errcode_t ext2fs_mmp_update2(ext2_filsys fs, int immediately)
mmp_error: mmp_error:
return retval; return retval;
#else #else
if (!(fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) ||
!(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP))
return 0;
return EXT2_ET_OP_NOT_SUPPORTED; return EXT2_ET_OP_NOT_SUPPORTED;
#endif #endif
} }