Hi Vahram, I saw the same issue in the bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=53331, and I sent out a patch this issue, but I've get any feedback. In fact, I think it's the right way to fix this issue, can you help to test it? Thanks, Gu On 05/24/2013 04:57 PM, Vahram Martirosyan wrote: > In function jfs_freeze() the log is shut down through lmLogShutdown() call. > When the "nointegrity" mount option is enabled, the log is actually not > initialized. As a result the freeze operation in that case brings to a > kernel OOPS. > > The solution is to check if the "nointegrity" option is enabled and if it is not > then shut the log down. > > May be this is not the best solution, but at least it fixes the OOPS. > > Found by Linux File System Verification project (linuxtesting.org) > > Signed-off-by: Vahram Martirosyan > --- > fs/jfs/super.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/fs/jfs/super.c b/fs/jfs/super.c > index a3d424d..9788970 100644 > --- a/fs/jfs/super.c > +++ b/fs/jfs/super.c > @@ -615,10 +615,12 @@ static int jfs_freeze(struct super_block *sb) > > if (!(sb->s_flags & MS_RDONLY)) { > txQuiesce(sb); > - rc = lmLogShutdown(log); > - if (rc != 0) { > - jfs_err("lmLogShutdown failed with return code %d", rc); > - return rc; > + if (!log->no_integrity) { > + rc = lmLogShutdown(log); > + if (rc != 0) { > + jfs_err("lmLogShutdown failed with return code %d", rc); > + return rc; > + } > } > rc = updateSuper(sb, FM_CLEAN); > if (rc != 0) {