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]