aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs/cell.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/afs/cell.h')
-rw-r--r--fs/afs/cell.h30
1 files changed, 11 insertions, 19 deletions
diff --git a/fs/afs/cell.h b/fs/afs/cell.h
index 48349108fb00..c135b00c6c75 100644
--- a/fs/afs/cell.h
+++ b/fs/afs/cell.h
@@ -1,4 +1,4 @@
1/* cell.h: AFS cell record 1/* AFS cell record
2 * 2 *
3 * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. 3 * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com) 4 * Written by David Howells (dhowells@redhat.com)
@@ -9,8 +9,8 @@
9 * 2 of the License, or (at your option) any later version. 9 * 2 of the License, or (at your option) any later version.
10 */ 10 */
11 11
12#ifndef _LINUX_AFS_CELL_H 12#ifndef AFS_CELL_H
13#define _LINUX_AFS_CELL_H 13#define AFS_CELL_H
14 14
15#include "types.h" 15#include "types.h"
16#include "cache.h" 16#include "cache.h"
@@ -19,22 +19,18 @@
19 19
20extern volatile int afs_cells_being_purged; /* T when cells are being purged by rmmod */ 20extern volatile int afs_cells_being_purged; /* T when cells are being purged by rmmod */
21 21
22/*****************************************************************************/
23/* 22/*
24 * entry in the cached cell catalogue 23 * entry in the cached cell catalogue
25 */ 24 */
26struct afs_cache_cell 25struct afs_cache_cell {
27{
28 char name[64]; /* cell name (padded with NULs) */ 26 char name[64]; /* cell name (padded with NULs) */
29 struct in_addr vl_servers[15]; /* cached cell VL servers */ 27 struct in_addr vl_servers[15]; /* cached cell VL servers */
30}; 28};
31 29
32/*****************************************************************************/
33/* 30/*
34 * AFS cell record 31 * AFS cell record
35 */ 32 */
36struct afs_cell 33struct afs_cell {
37{
38 atomic_t usage; 34 atomic_t usage;
39 struct list_head link; /* main cell list link */ 35 struct list_head link; /* main cell list link */
40 struct list_head proc_link; /* /proc cell list link */ 36 struct list_head proc_link; /* /proc cell list link */
@@ -61,18 +57,14 @@ struct afs_cell
61 char name[0]; /* cell name - must go last */ 57 char name[0]; /* cell name - must go last */
62}; 58};
63 59
64extern int afs_cell_init(char *rootcell); 60extern int afs_cell_init(char *);
65 61extern int afs_cell_create(const char *, char *, struct afs_cell **);
66extern int afs_cell_create(const char *name, char *vllist, struct afs_cell **_cell); 62extern int afs_cell_lookup(const char *, unsigned, struct afs_cell **);
67
68extern int afs_cell_lookup(const char *name, unsigned nmsize, struct afs_cell **_cell);
69 63
70#define afs_get_cell(C) do { atomic_inc(&(C)->usage); } while(0) 64#define afs_get_cell(C) do { atomic_inc(&(C)->usage); } while(0)
71 65
72extern struct afs_cell *afs_get_cell_maybe(struct afs_cell **_cell); 66extern struct afs_cell *afs_get_cell_maybe(struct afs_cell **);
73 67extern void afs_put_cell(struct afs_cell *);
74extern void afs_put_cell(struct afs_cell *cell);
75
76extern void afs_cell_purge(void); 68extern void afs_cell_purge(void);
77 69
78#endif /* _LINUX_AFS_CELL_H */ 70#endif /* AFS_CELL_H */