[OpenAFS] Solaris8 panic w/ patch 108528-20
Douglas E. Engert
deengert@anl.gov
Wed, 07 May 2003 13:25:25 -0500
Let me post this possible fix to the OpenAFS-info list. Itr was sent to
the devel list.It should work with or without 108528-20.
Sergio Gelato <Sergio.Gelato@astro.su.se> has been trying it, but has
not reported back tit he list yet.
-------- Original Message --------
Subject: Re: [OpenAFS-devel] Solaris 8 patch 108528-20 breaks afs module
Date: Tue, 06 May 2003 12:41:22 -0500
From: "Douglas E. Engert" <deengert@anl.gov>
To: Frank Batschulat <Frank.Batschulat@Sun.COM>, Sergio.Gelato@astro.su.se
CC: openafs-devel@openafs.org, Brian Sebby <sebby@anl.gov>
References: <200304252007.h3PK7ft02148@hs-eber02-01.Germany.Sun.COM>
Looking at the OpenAFS src/afs/Solaris/osi_vfsops.c it would appear the
read_binding_file does not need to be called at all on sun4x_58.
This is based on the fact that the /etc/name_to_sysnum file already has "afs"
defined, Sun says the read_binding_file should not be called, (and I am
surprised that AFS ever called it) and that the make_syscallname("afs", AFS_SYSCALL);
was ifdefed out already for AFS_SUN58_ENV.
I have not tried this but a possible fix for the problem could be
to ifdef out a lot more by moving the #if !defined(AFS_SUN58_ENV)
and #endif This should work on any Sun4x_58 with or without the patch,
as the sysent should have been setup by the OS, and the AFS code should
not have to touch it.
Any comments?
*** ,osi_vfsops.c Tue Oct 15 22:58:23 2002
--- osi_vfsops.c Tue May 6 11:11:15 2003
***************
*** 448,453 ****
--- 448,454 ----
#endif
#endif
#endif
+ #if !defined(AFS_SUN58_ENV)
/*
* Re-read the /etc/name_to_sysnum file to make sure afs isn't added after
* reboot. Ideally we would like to call modctl_read_sysbinding_file() but
***************
*** 465,473 ****
#else
read_binding_file(sysbind, sb_hashtab);
#endif
- #if !defined(AFS_SUN58_ENV)
make_syscallname("afs", AFS_SYSCALL);
- #endif
if (sysent[AFS_SYSCALL].sy_call == nosys) {
if ((sysn = mod_getsysname(AFS_SYSCALL)) != NULL) {
--- 466,472 ----
***************
*** 481,486 ****
--- 480,486 ----
#endif
}
}
+ #endif
osi_Init(); /* initialize global lock, etc */
Ray Pasetes wrote:
>
> Hello,
> We have a Sun Ultra60 running Solaris8. When we install the kernel
> patch 108528-20, we consistently get a kernel panic when loading the AFS
> module. However, if we backed out to 108528-19 of the kernel
> patch, everything was okay. This was with either OpenAFS v1.2.9 or
> Trnasarc AFS v3.6 patch#7. After sending in the core files to sun for
> analysis, this was their explanation:
>
> "The system is panicing because the afs driver is calling
> read_binding_file() during the modload. This function
> used to only take 2 arguments. Starting in 108528-20, it
> takes 3 arguments. The AFS driver is not setting up the
> thrid argument when it calls this function so the system
> panics. read_binding_file() is private to the Solaris kernel.
> 3rd party modules are not permitted to call this interface."
>
> I was wondering of anyone else had encountered this problem.
>
> Thanks for any help,
> Ray Pasetes
>
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
--
Douglas E. Engert <DEEngert@anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444