Thread (16 messages) 16 messages, 5 authors, 2021-07-05

Re: [powerpc][5.13.0-next-20210701] Kernel crash while running ltp(chdir01) tests

From: Sachin Sant <hidden>
Date: 2021-07-05 11:27:51
Also in: linux-ext4, linuxppc-dev

On 04-Jul-2021, at 7:34 PM, Theodore Ts'o [off-list ref] wrote:

On Sat, Jul 03, 2021 at 12:55:09PM +0800, Zhang Yi wrote:
quoted
Yeah, it sounds good to me. Do you want me to send the fix patch, or you
modify your commit 8f9e16badb8fd in another email directly?
I've gone ahead and made the changes; what do you think?

I like how it also removes 40 lines of code.  :-)

    	  	    	     	      	   - Ted

From ef3130d1b0b8ca769252d6a722a2e59a00141383 Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <tytso@mit.edu>
Date: Fri, 2 Jul 2021 18:05:03 -0400
Subject: [PATCH] ext4: inline jbd2_journal_[un]register_shrinker()

The function jbd2_journal_unregister_shrinker() was getting called
twice when the file system was getting unmounted.  On Power and ARM
platforms this was causing kernel crash when unmounting the file
system, when a percpu_counter was destroyed twice.

Fix this by removing jbd2_journal_[un]register_shrinker() functions,
and inlining the shrinker setup and teardown into
journal_init_common() and jbd2_journal_destroy().  This means that
ext4 and ocfs2 now no longer need to know about registering and
unregistering jbd2's shrinker.

Also, while we're at it, rename the percpu counter from
j_jh_shrink_count to j_checkpoint_jh_count, since this makes it
clearer what this counter is intended to track.

Fixes: 4ba3fcdde7e3 ("jbd2,ext4: add a shrinker to release checkpointed buffers")
Reported-by: Sachin Sant <redacted>
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
This patch fixes the reported problem. Test ran to completion
without any crash.

Tested-by: Sachin Sant <redacted>

-Sachin

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help