[Drbd-dev] Compatibility with 2.6.30 and current git

Ante Karamatić ivoks at grad.hr
Fri Jun 19 16:39:11 CEST 2009


Hi

I've mentioned this during Ubuntu 8.10 time frame, but nothing much has
changed since then.

Looking at linux/drbd.h, there's this part:

#ifndef CN_IDX_DRBD
# define CN_IDX_DRBD                    0x4
/* Ubuntu "intrepid ibex" release defined CN_IDX_DRBD as 0x6 */
#endif

Ubuntu defined CN_IDX_DRBD as 0x6 cause 0x4 was taken by vesa
framebuffer device. Linux kernels 2.6.30 and latest git has both 0x4 and
0x6 taken by other modules (include/linux/connector.h):

#define CN_IDX_V86D			0x4

#define CN_DST_IDX			0x6

These IDs should be unique (hence the name 'Process Events connector
unique ids'). If you want 2.6.30 compatibility (at least), change it to
0x7. That one is free. But keep an eye on it for 2.6.31. So, something
like this:

#ifndef CN_IDX_DRBD
# define CN_IDX_DRBD                    0x7
#endif

In current state, if vesa frame buffer module is loaded, drbd won't
work. Module will load, but userspace tools won't be able to connect to
it - they'll be connecting to frame buffer :)

Take care...


More information about the drbd-dev mailing list