Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
Tweeted twitter.com/StackUnix/status/1100999213259866112
tag surgery. systemd-journald is a userspace logging daemon. JBD journals block device writes for filesystems like ext4. These are two different things
Link
sourcejedi
  • 53.5k
  • 23
  • 178
  • 336
Source Link
Philippos
  • 13.7k
  • 2
  • 42
  • 82

How to stop jbd2 on unmounted filesystem

I need to resize2fs the root partition of an embedded device. Since it doesn't have an alternate boot option, I used an tmpfs, moved and restated everything until I finally was able to umount /dev/mmcblk0p1. But bad luck:

$ umount /dev/mmcblk0p1 
umount: /dev/mmcblk0p1: not mounted
$ resize2fs /dev/mmcblk0p1 
resize2fs 1.42.12 (29-Aug-2014)
resize2fs: Device or resource busy while trying to open /dev/mmcblk0p1
Couldn't find valid filesystem superblock.
$ fsck /dev/mmcblk0p1 
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/dev/mmcblk0p1 is in use.
e2fsck: Cannot continue, aborting.

Strange! A busy unmounted file system. It seems to me, that the journal still has it's hands on the device:

root       112  0.0  0.0      0     0 ?        S    14:13   0:00 [jbd2/mmcblk0p1-]

Turn journaling off, you say? Here comes the hen-and-egg-game:

$ tune2fs -O ^has_journal /dev/mmcblk0p1 
tune2fs 1.42.12 (29-Aug-2014)
The needs_recovery flag is set.  Please run e2fsck before clearing
the has_journal flag.

So how to stop that? It's still running in rescue mode, can't be kill -9ed. How to get rid of it? (I'm on Debian Jessie)