From: Derrick Brashear Date: Wed, 22 Aug 2007 03:17:52 +0000 (+0000) Subject: DEVEL15-linux-module-error-handling-20070821 X-Git-Tag: openafs-devel-1_5_23~12 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f79363865910cfc7ccbf6ef420567cb027450225;p=packages%2Fo%2Fopenafs.git DEVEL15-linux-module-error-handling-20070821 be more careful about what we call when, and clean up after ourselves (cherry picked from commit c31cfea03d95779cf334c7aa0c08067e49dc5d47) --- diff --git a/src/afs/LINUX/osi_module.c b/src/afs/LINUX/osi_module.c index 71d3e49d6..1d9f92335 100644 --- a/src/afs/LINUX/osi_module.c +++ b/src/afs/LINUX/osi_module.c @@ -94,11 +94,20 @@ init_module(void) return err; #endif err = afs_init_inodecache(); - if (err) + if (err) { +#ifndef LINUX_KEYRING_SUPPORT + osi_syscall_clean(); +#endif return err; + } err = register_filesystem(&afs_fs_type); - if (err) - return err; + if (err) { + afs_destroy_inodecache(); +#ifndef LINUX_KEYRING_SUPPORT + osi_syscall_clean(); +#endif + return err; + } osi_sysctl_init(); #ifdef LINUX_KEYRING_SUPPORT @@ -120,9 +129,13 @@ void cleanup_module(void) #endif { +#ifdef LINUX_KEYRING_SUPPORT osi_keyring_shutdown(); +#endif osi_sysctl_clean(); +#ifndef LINUX_KEYRING_SUPPORT osi_syscall_clean(); +#endif unregister_filesystem(&afs_fs_type); afs_destroy_inodecache();