[DRBD-user] outdated disk after upgrade from 0.7.23 to 8.3.0

Laszlo Attila Toth panther at balabit.hu
Fri Jun 19 13:18:18 CEST 2009

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


we found a strange behaviour a few days ago as in the following letter:

The output of
	drbdmeta /dev/drbd0 v07 /dev/hda3 internal dstate

however, after upgrading to v08:
	drbdmeta /dev/drbd0 v08 /dev/hda3 internal create-md

the output of
	drbdmeta /dev/drbd0 v08 /dev/hda3 internal dstate

I've looked into the source code, how it can be, but I have no idea for
this thing.

It seems that in md_disk_07_to_cpu() the flags are not filled in, but
the dstate command uses it. It is zero in this case, and this is why the
output is 'Inconsistent/DUnknown'.

In md_convert_07_to_08() the upgrade fills this member from the old
value of the flags (contained by cfg->md.gc[Flags]). v07 doesn't know
the MDF_WasUpToDate flag, but it is used by v08 dstate...

If the device with v07 format is in inconsistent state, how can it be
outdated after the upgrade? The upgrade sets the MDF_Consistent flag,
because without it the 'Outdated/DUnknown' text wouldn't apper. How can
the MDF_WasUpToDate flag missing?

And after a successful reboot of the system how can be the device in
inconsistent state? I didn't found the related code in the kernel module.

Laszlo Attila Toth

More information about the drbd-user mailing list