From "sudo e4defrag -c -v /dev/sdb5" I get "Filesystem is not mounted". But it's where root is.
I boot without initrd with "kernel /vmlinuz root=/dev/sdb5 rootfstype=ext4" line in grub.
EXT4-fs (sdb5): mounted filesystem with ordered data mode. Opts: (null)
"mount" shows this:
/dev/root on / type ext4 (rw,noatime,user_xattr,barrier=1,data=ordered)
with "/dev/root" instead of "/dev/sdb5". there is no "/dev/root".
kernel config has:
I don't know how e4defrag checks that it's mounted and whether it's devtmpfs or udev's fault that it's weird, but e4defrag should still deal with it.