diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-07-18 03:11:46 -0400 |
---|---|---|
committer | Niv Sardi <xaiki@debian.org> | 2008-07-28 02:59:25 -0400 |
commit | 9f8868ffb39c2f80ba69df4552cb530b6634f646 (patch) | |
tree | fba09366faf55ee039cdbd91dff78b7d87a86d0b /fs/xfs/support | |
parent | 136f8f21b6d564f553abe6130127d16fb50432d3 (diff) |
[XFS] streamline init/exit path
Currently the xfs module init/exit code is a mess. It's farmed out over a
lot of function with very little error checking. This patch makes sure we
propagate all initialization failures properly and clean up after them.
Various runtime initializations are replaced with compile-time
initializations where possible to make this easier. The exit path is
similarly consolidated.
There's now split out function to create/destroy the kmem zones and
alloc/free the trace buffers. I've also changed the ktrace allocations to
KM_MAYFAIL and handled errors resulting from that.
And yes, we really should replace the XFS_*_TRACE ifdefs with a single
XFS_TRACE..
SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:31354a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/support')
-rw-r--r-- | fs/xfs/support/uuid.c | 8 | ||||
-rw-r--r-- | fs/xfs/support/uuid.h | 1 |
2 files changed, 1 insertions, 8 deletions
diff --git a/fs/xfs/support/uuid.c b/fs/xfs/support/uuid.c index 493a6ecf8590..5830c040ea7e 100644 --- a/fs/xfs/support/uuid.c +++ b/fs/xfs/support/uuid.c | |||
@@ -17,7 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | #include <xfs.h> | 18 | #include <xfs.h> |
19 | 19 | ||
20 | static mutex_t uuid_monitor; | 20 | static DEFINE_MUTEX(uuid_monitor); |
21 | static int uuid_table_size; | 21 | static int uuid_table_size; |
22 | static uuid_t *uuid_table; | 22 | static uuid_t *uuid_table; |
23 | 23 | ||
@@ -132,9 +132,3 @@ uuid_table_remove(uuid_t *uuid) | |||
132 | ASSERT(i < uuid_table_size); | 132 | ASSERT(i < uuid_table_size); |
133 | mutex_unlock(&uuid_monitor); | 133 | mutex_unlock(&uuid_monitor); |
134 | } | 134 | } |
135 | |||
136 | void __init | ||
137 | uuid_init(void) | ||
138 | { | ||
139 | mutex_init(&uuid_monitor); | ||
140 | } | ||
diff --git a/fs/xfs/support/uuid.h b/fs/xfs/support/uuid.h index b6f5922199ba..cff5b607d445 100644 --- a/fs/xfs/support/uuid.h +++ b/fs/xfs/support/uuid.h | |||
@@ -22,7 +22,6 @@ typedef struct { | |||
22 | unsigned char __u_bits[16]; | 22 | unsigned char __u_bits[16]; |
23 | } uuid_t; | 23 | } uuid_t; |
24 | 24 | ||
25 | extern void uuid_init(void); | ||
26 | extern void uuid_create_nil(uuid_t *uuid); | 25 | extern void uuid_create_nil(uuid_t *uuid); |
27 | extern int uuid_is_nil(uuid_t *uuid); | 26 | extern int uuid_is_nil(uuid_t *uuid); |
28 | extern int uuid_equal(uuid_t *uuid1, uuid_t *uuid2); | 27 | extern int uuid_equal(uuid_t *uuid1, uuid_t *uuid2); |