tree c689c399737f8c23ef4dde952122f04c12611cb9
parent 81f95d43d52adef4d46a9c60d4cbb98ed5043062
author Theodore Ts'o <tytso@mit.edu> 1432606723 -0400
committer Theodore Ts'o <tytso@mit.edu> 1432606723 -0400

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>
