Bug#805309: grub-common: md raid superblock caching issue
Alexander Inyukhin
shurick at sectorb.msk.ru
Mon Nov 16 20:16:09 UTC 2015
Package: grub-common
Version: 2.02~beta2-22
Severity: normal
Hi,
I was trying to install grub on md raid array after some reshaping and drive
rearrainging, but grub-install and grub-probe were refused to see the device
any more (error was something like "mduuid/... not found").
After some investigations I found that grub used the old version of
md superblocks from cache and it was unable to correctly determine
the new role of partitions inside array (they are changed during reshaping).
At the same time mdadm --examine on partitions works correctly, because
it opens disk bypassing cache (with O_DIRECT).
Dumping superblock with and without direct flag confirms that idea.
These commands returned different role arrays:
dd if=/dev/sdd3 bs=512 count=1 skip=8 iflag=direct | xxd
dd if=/dev/sdd3 bs=512 count=1 skip=8 | xxd
I suggest that overall caching behaviour might be a kernel issue,
but it would be probably a good idea to use direct access to disk
partitions in grub too.
For now, I worked this around by explicitly flushing cache with command
echo 3 > /proc/sys/vm/drop_caches
More information about the Pkg-grub-devel
mailing list