diff options
author | David Howells <dhowells@redhat.com> | 2007-04-26 15:49:28 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-04-26 15:49:28 -0700 |
commit | ec26815ad847dbf74a1e27aa5515fb7d5dc6ee6f (patch) | |
tree | 32510ab35b3524f6be9231ab8065b80be5d9b68d /fs/afs/main.c | |
parent | 17926a79320afa9b95df6b977b40cca6d8713cea (diff) | |
download | lwn-ec26815ad847dbf74a1e27aa5515fb7d5dc6ee6f.tar.gz lwn-ec26815ad847dbf74a1e27aa5515fb7d5dc6ee6f.zip |
[AFS]: Clean up the AFS sources
Clean up the AFS sources.
Also remove references to AFS keys. RxRPC keys are used instead.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/afs/main.c')
-rw-r--r-- | fs/afs/main.c | 94 |
1 files changed, 16 insertions, 78 deletions
diff --git a/fs/afs/main.c b/fs/afs/main.c index f2704ba53857..5bf39f66f4ce 100644 --- a/fs/afs/main.c +++ b/fs/afs/main.c @@ -1,4 +1,4 @@ -/* main.c: AFS client file system +/* AFS client file system * * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) @@ -62,7 +62,6 @@ struct cachefs_netfs afs_cache_netfs = { }; #endif -/*****************************************************************************/ /* * initialise the AFS client FS module */ @@ -87,70 +86,61 @@ static int __init afs_init(void) ret = cachefs_register_netfs(&afs_cache_netfs, &afs_cache_cell_index_def); if (ret < 0) - goto error; -#endif - -#ifdef CONFIG_KEYS_TURNED_OFF - ret = afs_key_register(); - if (ret < 0) goto error_cache; #endif /* initialise the cell DB */ ret = afs_cell_init(rootcell); if (ret < 0) - goto error_keys; + goto error_cell_init; /* start the timeout daemon */ ret = afs_kafstimod_start(); if (ret < 0) - goto error_keys; + goto error_kafstimod; /* start the async operation daemon */ ret = afs_kafsasyncd_start(); if (ret < 0) - goto error_kafstimod; + goto error_kafsasyncd; /* create the RxRPC transport */ ret = rxrpc_create_transport(7001, &afs_transport); if (ret < 0) - goto error_kafsasyncd; + goto error_transport; afs_transport->peer_ops = &afs_peer_ops; /* register the filesystems */ ret = afs_fs_init(); if (ret < 0) - goto error_transport; + goto error_fs; return ret; - error_transport: +error_fs: rxrpc_put_transport(afs_transport); - error_kafsasyncd: +error_transport: afs_kafsasyncd_stop(); - error_kafstimod: +error_kafsasyncd: afs_kafstimod_stop(); - error_keys: -#ifdef CONFIG_KEYS_TURNED_OFF - afs_key_unregister(); - error_cache: -#endif +error_kafstimod: +error_cell_init: #ifdef AFS_CACHING_SUPPORT cachefs_unregister_netfs(&afs_cache_netfs); - error: +error_cache: #endif afs_cell_purge(); afs_proc_cleanup(); printk(KERN_ERR "kAFS: failed to register: %d\n", ret); return ret; -} /* end afs_init() */ +} /* XXX late_initcall is kludgy, but the only alternative seems to create * a transport upon the first mount, which is worse. Or is it? */ late_initcall(afs_init); /* must be called after net/ to create socket */ -/*****************************************************************************/ + /* * clean up on module removal */ @@ -163,19 +153,14 @@ static void __exit afs_exit(void) afs_kafstimod_stop(); afs_kafsasyncd_stop(); afs_cell_purge(); -#ifdef CONFIG_KEYS_TURNED_OFF - afs_key_unregister(); -#endif #ifdef AFS_CACHING_SUPPORT cachefs_unregister_netfs(&afs_cache_netfs); #endif afs_proc_cleanup(); - -} /* end afs_exit() */ +} module_exit(afs_exit); -/*****************************************************************************/ /* * notification that new peer record is being added * - called from krxsecd @@ -208,9 +193,8 @@ static int afs_adding_peer(struct rxrpc_peer *peer) afs_put_server(server); return 0; -} /* end afs_adding_peer() */ +} -/*****************************************************************************/ /* * notification that a peer record is being discarded * - called from krxiod or krxsecd @@ -236,50 +220,4 @@ static void afs_discarding_peer(struct rxrpc_peer *peer) spin_unlock(&afs_server_peer_lock); _leave(""); - -} /* end afs_discarding_peer() */ - -/*****************************************************************************/ -/* - * clear the dead space between task_struct and kernel stack - * - called by supplying -finstrument-functions to gcc - */ -#if 0 -void __cyg_profile_func_enter (void *this_fn, void *call_site) -__attribute__((no_instrument_function)); - -void __cyg_profile_func_enter (void *this_fn, void *call_site) -{ - asm volatile(" movl %%esp,%%edi \n" - " andl %0,%%edi \n" - " addl %1,%%edi \n" - " movl %%esp,%%ecx \n" - " subl %%edi,%%ecx \n" - " shrl $2,%%ecx \n" - " movl $0xedededed,%%eax \n" - " rep stosl \n" - : - : "i"(~(THREAD_SIZE - 1)), "i"(sizeof(struct thread_info)) - : "eax", "ecx", "edi", "memory", "cc" - ); -} - -void __cyg_profile_func_exit(void *this_fn, void *call_site) -__attribute__((no_instrument_function)); - -void __cyg_profile_func_exit(void *this_fn, void *call_site) -{ - asm volatile(" movl %%esp,%%edi \n" - " andl %0,%%edi \n" - " addl %1,%%edi \n" - " movl %%esp,%%ecx \n" - " subl %%edi,%%ecx \n" - " shrl $2,%%ecx \n" - " movl $0xdadadada,%%eax \n" - " rep stosl \n" - : - : "i"(~(THREAD_SIZE - 1)), "i"(sizeof(struct thread_info)) - : "eax", "ecx", "edi", "memory", "cc" - ); } -#endif |