Yep. I missied your concerns.
Provided the problem is with upgradtion of module, then,
I though about second possibility without touching auto_fs4.h.
All that needed is to redefine following definitions.
#define AUTOFS_PROTO_VERSION 5
#define AUTOFS_MIN_PROTO_VERSION 3
#define AUTOFS_MAX_PROTO_VERSION 5
I think this should be enough.
And I asked Ian for openion and waiting for his reply.
As for the compatibility check, Autodir supports only protocol 4 and in
the future 5. So only check for protocol 4 is needed at this moment.
Autodir was build on autofs 3 protocol initially but it was dropped as
it was planned to be discontinued by Ian.
Regards
ramana
--- "Francesco P. Lovergine" <[EMAIL PROTECTED]> wrote:
> On Thu, Nov 23, 2006 at 01:54:40AM -0800, ramana wrote:
> > First thanks to Ian for providing valuable info for arrving at this
> > conclusion.
> >
> > What happened? There is old autofs4 module which supported autofs4
> > protocol. Autofs team developed new autofs5 protocol but new module
> > given name as autofs4.
> >
> > So this is where the problem is. New module is backward compatible
> with
> > autofs4 protcol and also supports autofs5 but with the name
> 'autofs4'.
> >
> > Everything ok but with the autofs headers.
> >
> > What can be done?
> >
> > Until this is resolved, just compile autodir with old
> > /usr/src/linux/auto_fs4.h and everthing should work fine.
> >
> > That is the reason older autodir compiled with older header file
> > working fine with new kernel module autofs4 (which is autofs5)
> >
> > Since I do not have access to new autofs module on my Fedora, the
> > testing is going fine -- which is compiled with older autofs
> module.
> >
> > And I can not say 100% sure about. (as I said I do not have access
> to
> > the latest module and I can not confirm it myself doing tests).
> >
>
> The autofs4->autofs5 update was quite clear. What I find strange
> is the problem in cooperating with current (enclosed) auto_fs4.h
> header file, which is quite old. Also I see an autofs5 related struct
> in the union autofs_packet_union, but shouldn't all that thought
> for being back-compatible?
>
> --
> Francesco P. Lovergine
> > /* -*- c -*-
> * linux/include/linux/auto_fs4.h
> *
> * Copyright 1999-2000 Jeremy Fitzhardinge <[EMAIL PROTECTED]>
> *
> * This file is part of the Linux kernel and is made available under
> * the terms of the GNU General Public License, version 2, or at your
> * option, any later version, incorporated herein by reference.
> */
>
> #ifndef _LINUX_AUTO_FS4_H
> #define _LINUX_AUTO_FS4_H
>
> /* Include common v3 definitions */
> #include <linux/auto_fs.h>
>
> /* autofs v4 definitions */
> #undef AUTOFS_PROTO_VERSION
> #undef AUTOFS_MIN_PROTO_VERSION
> #undef AUTOFS_MAX_PROTO_VERSION
>
> #define AUTOFS_PROTO_VERSION 5
> #define AUTOFS_MIN_PROTO_VERSION 3
> #define AUTOFS_MAX_PROTO_VERSION 5
>
> #define AUTOFS_PROTO_SUBVERSION 0
>
> /* Mask for expire behaviour */
> #define AUTOFS_EXP_IMMEDIATE 1
> #define AUTOFS_EXP_LEAVES 2
>
> /* Daemon notification packet types */
> enum autofs_notify {
> NFY_NONE,
> NFY_MOUNT,
> NFY_EXPIRE
> };
>
> /* Kernel protocol version 4 packet types */
>
> /* Expire entry (umount request) */
> #define autofs_ptype_expire_multi 2
>
> /* Kernel protocol version 5 packet types */
>
> /* Indirect mount missing and expire requests. */
> #define autofs_ptype_missing_indirect 3
> #define autofs_ptype_expire_indirect 4
>
> /* Direct mount missing and expire requests */
> #define autofs_ptype_missing_direct 5
> #define autofs_ptype_expire_direct 6
>
> /* v4 multi expire (via pipe) */
> struct autofs_packet_expire_multi {
> struct autofs_packet_hdr hdr;
> autofs_wqt_t wait_queue_token;
> int len;
> char name[NAME_MAX+1];
> };
>
> /* autofs v5 common packet struct */
> struct autofs_v5_packet {
> struct autofs_packet_hdr hdr;
> autofs_wqt_t wait_queue_token;
> __u32 dev;
> __u64 ino;
> __u32 uid;
> __u32 gid;
> __u32 pid;
> __u32 tgid;
> __u32 len;
> char name[NAME_MAX+1];
> };
>
> typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
> typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
> typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
> typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
>
> union autofs_packet_union {
> struct autofs_packet_hdr hdr;
> struct autofs_packet_missing missing;
> struct autofs_packet_expire expire;
> struct autofs_packet_expire_multi expire_multi;
> struct autofs_v5_packet v5_packet;
> };
>
> #define AUTOFS_IOC_EXPIRE_MULTI _IOW(0x93,0x66,int)
> #define AUTOFS_IOC_EXPIRE_INDIRECT AUTOFS_IOC_EXPIRE_MULTI
> #define AUTOFS_IOC_EXPIRE_DIRECT AUTOFS_IOC_EXPIRE_MULTI
> #define AUTOFS_IOC_PROTOSUBVER _IOR(0x93,0x67,int)
> #define AUTOFS_IOC_ASKREGHOST _IOR(0x93,0x68,int)
> #define AUTOFS_IOC_TOGGLEREGHOST _IOR(0x93,0x69,int)
> #define AUTOFS_IOC_ASKUMOUNT _IOR(0x93,0x70,int)
>
>
> #endif /* _LINUX_AUTO_FS4_H */
>
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]