Hello. After 2.6.8.1, samba userland would no longer build with current
kernel headers, as it needs some of the samba kernel headers to work,
yet they included <linux/fs.h> outside of __KERNEL__, and after 2.6.9
this was no longer safe, and caused compilation to fail like this:
Compiling client/smbmount.c
In file included from /fdb041101/montavista/foundation/devkit/ppc/74xx/bin/../ta
rget/usr/include/linux/fs.h:19,
from /fdb041101/montavista/foundation/devkit/ppc/74xx/bin/../ta
rget/usr/include/linux/smb_fs.h:15,
from ../source/client/smbmount.c:27:
/fdb041101/montavista/foundation/devkit/ppc/74xx/bin/../target/usr/include/linux
/prio_tree.h:22: error: parse error before "pgoff_t"
/fdb041101/montavista/foundation/devkit/ppc/74xx/bin/../target/usr/include/linux
/prio_tree.h:27: error: parse error before "pgoff_t"
The simple fix is to move <linux/fs.h> down below the __KERNEL__ test.
Signed-off-by: Tom Rini <[email protected]>
--- 1.14/include/linux/smb_fs.h 2003-06-25 16:30:54 -07:00
+++ edited/include/linux/smb_fs.h 2004-11-03 12:00:07 -07:00
@@ -12,7 +12,6 @@
#include <linux/smb.h>
#include <linux/smb_fs_i.h>
#include <linux/smb_fs_sb.h>
-#include <linux/fs.h>
/*
* ioctl commands
@@ -26,6 +25,7 @@
#ifdef __KERNEL__
+#include <linux/fs.h>
#include <linux/pagemap.h>
#include <linux/vmalloc.h>
#include <linux/smb_mount.h>
--
Tom Rini
http://gate.crashing.org/~trini/
On Wed, Nov 03, 2004 at 12:03:45PM -0700, Tom Rini wrote:
> Hello. After 2.6.8.1, samba userland would no longer build with
> current kernel headers, as it needs some of the samba kernel headers
> to work,
what? the samba userland which i assume is portable and not at all
linux specific needs linux kernel headers?
> +++ edited/include/linux/smb_fs.h 2004-11-03 12:00:07 -07:00
> @@ -12,7 +12,6 @@
> #include <linux/smb.h>
> #include <linux/smb_fs_i.h>
> #include <linux/smb_fs_sb.h>
> -#include <linux/fs.h>
>
> /*
> * ioctl commands
> @@ -26,6 +25,7 @@
>
> #ifdef __KERNEL__
>
> +#include <linux/fs.h>
> #include <linux/pagemap.h>
> #include <linux/vmalloc.h>
> #include <linux/smb_mount.h>
that patch seems harmless enough, but im not sure why it should be
necessary really, i dont see why samba should be including such
headers at all --- it's a bad idea in almost all cases
On Wed, Nov 03, 2004 at 12:55:48PM -0800, Chris Wedgwood wrote:
> On Wed, Nov 03, 2004 at 12:03:45PM -0700, Tom Rini wrote:
>
> > Hello. After 2.6.8.1, samba userland would no longer build with
> > current kernel headers, as it needs some of the samba kernel headers
> > to work,
>
> what? the samba userland which i assume is portable and not at all
> linux specific needs linux kernel headers?
Portability questions aside (I'm not a Samba person, nor do I play one
on TV), the code in question isn't, as it needs <asm/types.h> and
<linux/smb_fs.h> (if not needs, at least uses as of 3.0.7).
> > +++ edited/include/linux/smb_fs.h 2004-11-03 12:00:07 -07:00
> > @@ -12,7 +12,6 @@
> > #include <linux/smb.h>
> > #include <linux/smb_fs_i.h>
> > #include <linux/smb_fs_sb.h>
> > -#include <linux/fs.h>
> >
> > /*
> > * ioctl commands
> > @@ -26,6 +25,7 @@
> >
> > #ifdef __KERNEL__
> >
> > +#include <linux/fs.h>
> > #include <linux/pagemap.h>
> > #include <linux/vmalloc.h>
> > #include <linux/smb_mount.h>
>
> that patch seems harmless enough, but im not sure why it should be
> necessary really, i dont see why samba should be including such
> headers at all --- it's a bad idea in almost all cases
Digging around a bit, it needs SMB_CASE_DEFAULT (enum) and
SMB_IOC_NEWCONN.
--
Tom Rini
http://gate.crashing.org/~trini/
On Wed, Nov 03, 2004 at 02:32:10PM -0700, Tom Rini wrote:
> Digging around a bit, it needs SMB_CASE_DEFAULT (enum) and
> SMB_IOC_NEWCONN.
where does this come from for non-Linux platforms?
On Wed, Nov 03, 2004 at 01:33:03PM -0800, Chris Wedgwood wrote:
> On Wed, Nov 03, 2004 at 02:32:10PM -0700, Tom Rini wrote:
>
> > Digging around a bit, it needs SMB_CASE_DEFAULT (enum) and
> > SMB_IOC_NEWCONN.
>
> where does this come from for non-Linux platforms?
I would guess they don't get 'smbmount'.
--
Tom Rini
http://gate.crashing.org/~trini/
On Wed, Nov 03, 2004 at 02:42:18PM -0700, Tom Rini wrote:
> I would guess they don't get 'smbmount'.
oh, i didn't realize it was for that... well, yes, that is a tough
one. i wonder why that code doesnt' get merged into Linux's mount(8)
though?