2 * Copyright 2009-2010, Sine Nomine Associates and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
12 * volume group membership cache
15 #ifndef _AFS_VOL_VG_CACHE_IMPL_H
16 #define _AFS_VOL_VG_CACHE_IMPL_H 1
18 #define VVGC_SCAN_TBL_LEN 4096 /**< thread-local partition scan table size */
20 #include "vg_cache_impl_types.h"
22 extern VVGCache_hash_table_t VVGCache_hash_table
;
23 extern VVGCache_t VVGCache
;
25 extern int _VVGC_flush_part(struct DiskPartition64
* part
);
26 extern int _VVGC_flush_part_r(struct DiskPartition64
* part
);
27 extern int _VVGC_scan_start(struct DiskPartition64
* dp
);
28 extern int _VVGC_state_change(struct DiskPartition64
* part
,
29 VVGCache_part_state_t state
);
30 extern int _VVGC_entry_purge_r(struct DiskPartition64
* dp
,
31 VolumeId parent
, VolumeId child
);
32 extern int _VVGC_dlist_add_r(struct DiskPartition64
*dp
,
33 VolumeId parent
, VolumeId child
);
34 extern int _VVGC_dlist_del_r(struct DiskPartition64
*dp
,
35 VolumeId parent
, VolumeId child
);
37 #define VVGC_HASH(volumeId) (volumeId&(VolumeHashTable.Mask))
39 #endif /* _AFS_VOL_VG_CACHE_H */