<div>Hi, Gu.<br></div><div><br></div><div>Thanks for the patch. We have checked it, and it really fixes the problem. </div><div><br></div><div>We did not have much time to get that deep into the code. </div><div>The bug report on BugZilla was also done by one of out ream members, so my feedback can be thought as our feedback.</div>
<div><br></div><div>Thanks,</div><div>Vahram</div><br><div class="gmail_quote">On Fri, May 24, 2013 at 2:25 PM, Gu Zheng <span dir="ltr"><<a href="mailto:guz.fnst@cn.fujitsu.com" target="_blank">guz.fnst@cn.fujitsu.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vahram,<br>
I saw the same issue in the bugzilla:<br>
<a href="https://bugzilla.kernel.org/show_bug.cgi?id=53331" target="_blank">https://bugzilla.kernel.org/show_bug.cgi?id=53331</a>,<br>
and I sent out a patch this issue, but I've get any feedback.<br>
In fact, I think it's the right way to fix this issue,<br>
can you help to test it?<br>
<br>
Thanks,<br>
Gu<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 05/24/2013 04:57 PM, Vahram Martirosyan wrote:<br>
<br>
> In function jfs_freeze() the log is shut down through lmLogShutdown() call.<br>
> When the "nointegrity" mount option is enabled, the log is actually not<br>
> initialized. As a result the freeze operation in that case brings to a<br>
> kernel OOPS.<br>
><br>
> The solution is to check if the "nointegrity" option is enabled and if it is not<br>
> then shut the log down.<br>
><br>
> May be this is not the best solution, but at least it fixes the OOPS.<br>
><br>
> Found by Linux File System Verification project (<a href="http://linuxtesting.org" target="_blank">linuxtesting.org</a>)<br>
><br>
> Signed-off-by: Vahram Martirosyan <<a href="mailto:vahram.martirosyan@linuxtesting.org">vahram.martirosyan@linuxtesting.org</a>><br>
> ---<br>
> fs/jfs/super.c | 10 ++++++----<br>
> 1 file changed, 6 insertions(+), 4 deletions(-)<br>
><br>
> diff --git a/fs/jfs/super.c b/fs/jfs/super.c<br>
> index a3d424d..9788970 100644<br>
> --- a/fs/jfs/super.c<br>
> +++ b/fs/jfs/super.c<br>
> @@ -615,10 +615,12 @@ static int jfs_freeze(struct super_block *sb)<br>
><br>
> if (!(sb->s_flags & MS_RDONLY)) {<br>
> txQuiesce(sb);<br>
> - rc = lmLogShutdown(log);<br>
> - if (rc != 0) {<br>
> - jfs_err("lmLogShutdown failed with return code %d", rc);<br>
> - return rc;<br>
> + if (!log->no_integrity) {<br>
> + rc = lmLogShutdown(log);<br>
> + if (rc != 0) {<br>
> + jfs_err("lmLogShutdown failed with return code %d", rc);<br>
> + return rc;<br>
> + }<br>
> }<br>
> rc = updateSuper(sb, FM_CLEAN);<br>
> if (rc != 0) {<br>
<br>
<br>
</div></div></blockquote></div><br>