Bug 148126

Summary: /usr/include/linux/fs.h and kernelsource version differ
Product: [openSUSE] SUSE Linux 10.1 Reporter: Jos Huisken <jos>
Component: DevelopmentAssignee: Thorsten Kukuk <kukuk>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: pth
Version: Beta 3   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jos Huisken 2006-02-03 21:08:36 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
Comment 1 Thorsten Kukuk 2006-02-06 10:03:29 UTC
Of course they are not aligned. Read /usr/include/linux/version.h
Comment 2 Jos Huisken 2006-02-07 22:28:27 UTC
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?
Comment 3 Thorsten Kukuk 2006-02-08 07:52:34 UTC
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.