Re: patching kdb to Centos kernel : error

From: Valdis . Kletnieks
Date: Sun Aug 17 2008 - 02:42:23 EST


On Sun, 17 Aug 2008 11:30:41 +0530, Satish Eerpini said:
> hi everyone , i was trying to patch kdb with CentOS 5.0 kernel
> (2.6.18-8)

You might want to make sure you're using a 2.6.18-vintage kdb patch, as
trying to fit a 2.6.26 kdb onto a 2.6.18 kernel is unlikely to bring joy.

> resolve) ,.... but apart from the rejects during the kernel
> compilation i got the following error which does not seem to have
> anything to do with the rejects ............

No, the rejects during the patch are almost certainly related to your
compile errors...

> the code(in kdb/modules/kdbm_pg.c) which is causing the second error
> is something like this :
>
> iaddr += offsetof(struct inode, u);
>
> what i am not able to understand is that if 'u' is not a correct
> member of the inode , .. then what did they( whoever wrote this piece
> code) intend by 'u' ? , .....

Your kdb patch probably includes a patch to include/linux/fs.h that adds a
member 'u' to a 'struct inode'. If this generated a reject, then the member 'u'
won't be in the struct, and your compile dies...

> and for the first error , ... i just checked out the code ....
> according to the line no shown in the error .....the code is :
>
> kdb_page_flags(page, Checked);
>
> and i don't see any function PageChecked ....! so what can the error
> actually mean ??

kdb_page_flags is probably a macro that does something like:

#define kdb_page_flags(a,b) (..... Page##b)

The 'implicit declaration' is most likely a missing #include someplace,
which again hints at the rejects from a misapplied patch...

Attachment: pgp00000.pgp
Description: PGP signature