Bugzilla – Bug 148126
/usr/include/linux/fs.h and kernelsource version differ
Last modified: 2006-02-08 07:52:34 UTC
While trying to build unionfs I found that there are different versions of .../linux/fs.h The 'struct inode' differs. Seems that packages are not aligned. Files: -rw-r--r-- 1 root root 65508 Jan 3 04:21 /usr/include/linux/fs.h -rw-r--r-- 1 root root 67290 Jan 31 01:43 /usr/src/linux-2.6.16-rc1-git3-7/include/linux/fs.h From rpms: glibc-devel-2.3.90-59 kernel-source-2.6.16_rc1_git3-7
Of course they are not aligned. Read /usr/include/linux/version.h
You are right, I drew the wrong conclusion... The build process of unionfs is OK w.r.t. the comments in version.h, as far as I can see. It indeed uses /usr/src/linux-2.6.16-rc1-git3-7/include/linux/fs.h But here the struct inode member i_sem is gone and seemingly replaced by i_mutex?? My compile shows: In file included from /home/huisken/src/unionfs-1.1.2/subr.c:22: /home/huisken/src/unionfs-1.1.2/unionfs.h: In function ‘lock_parent’: /home/huisken/src/unionfs-1.1.2/unionfs.h:814: error: ‘struct inode’ has no member named ‘i_sem’ Which confirms that the kernel version of fs.h is used. [ The /usr/include/fs.h does have an inode struct with member i_sem... ] Is it a unionfs issue (meant to be for 2.6 kernels...)? Are we using a newer kernel?
So your unionfs sources don't match our kernel (which is, as the version number clearly states, 2.6.16-rc1-git17), nothing which we can solve for you.