internal.h (188de5dd80b2b7986e75821374efb67081049b6e) | internal.h (6b3944e42e2e554aa5a4be681ecd70dccd459114) |
---|---|
1/* internal AFS stuff 2 * 3 * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 59 unchanged lines hidden (view full) --- 68 69/* 70 * List of server addresses. 71 */ 72struct afs_addr_list { 73 struct rcu_head rcu; /* Must be first */ 74 refcount_t usage; 75 u32 version; /* Version */ | 1/* internal AFS stuff 2 * 3 * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. 4 * Written by David Howells (dhowells@redhat.com) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version --- 59 unchanged lines hidden (view full) --- 68 69/* 70 * List of server addresses. 71 */ 72struct afs_addr_list { 73 struct rcu_head rcu; /* Must be first */ 74 refcount_t usage; 75 u32 version; /* Version */ |
76 unsigned char max_addrs; 77 unsigned char nr_addrs; 78 unsigned char index; /* Address currently in use */ 79 unsigned char nr_ipv4; /* Number of IPv4 addresses */ | 76 unsigned short nr_addrs; 77 unsigned short index; /* Address currently in use */ 78 unsigned short nr_ipv4; /* Number of IPv4 addresses */ |
80 unsigned long probed; /* Mask of servers that have been probed */ 81 unsigned long yfs; /* Mask of servers that are YFS */ 82 struct sockaddr_rxrpc addrs[]; | 79 unsigned long probed; /* Mask of servers that have been probed */ 80 unsigned long yfs; /* Mask of servers that are YFS */ 81 struct sockaddr_rxrpc addrs[]; |
83#define AFS_MAX_ADDRESSES ((unsigned int)(sizeof(unsigned long) * 8)) | |
84}; 85 86/* 87 * a record of an in-progress RxRPC call 88 */ 89struct afs_call { 90 const struct afs_call_type *type; /* type of call */ 91 wait_queue_head_t waitq; /* processes awaiting completion */ --- 147 unchanged lines hidden (view full) --- 239 struct rb_root cells; 240 struct afs_cell __rcu *ws_cell; 241 struct work_struct cells_manager; 242 struct timer_list cells_timer; 243 atomic_t cells_outstanding; 244 seqlock_t cells_lock; 245 246 struct mutex proc_cells_lock; | 82}; 83 84/* 85 * a record of an in-progress RxRPC call 86 */ 87struct afs_call { 88 const struct afs_call_type *type; /* type of call */ 89 wait_queue_head_t waitq; /* processes awaiting completion */ --- 147 unchanged lines hidden (view full) --- 237 struct rb_root cells; 238 struct afs_cell __rcu *ws_cell; 239 struct work_struct cells_manager; 240 struct timer_list cells_timer; 241 atomic_t cells_outstanding; 242 seqlock_t cells_lock; 243 244 struct mutex proc_cells_lock; |
247 struct list_head proc_cells; | 245 struct hlist_head proc_cells; |
248 249 /* Known servers. Theoretically each fileserver can only be in one 250 * cell, but in practice, people create aliases and subsets and there's 251 * no easy way to distinguish them. 252 */ 253 seqlock_t fs_lock; /* For fs_servers */ 254 struct rb_root fs_servers; /* afs_server (by server UUID or address) */ 255 struct list_head fs_updates; /* afs_server (by update_at) */ --- 61 unchanged lines hidden (view full) --- 317struct afs_cell { 318 union { 319 struct rcu_head rcu; 320 struct rb_node net_node; /* Node in net->cells */ 321 }; 322 struct afs_net *net; 323 struct key *anonymous_key; /* anonymous user key for this cell */ 324 struct work_struct manager; /* Manager for init/deinit/dns */ | 246 247 /* Known servers. Theoretically each fileserver can only be in one 248 * cell, but in practice, people create aliases and subsets and there's 249 * no easy way to distinguish them. 250 */ 251 seqlock_t fs_lock; /* For fs_servers */ 252 struct rb_root fs_servers; /* afs_server (by server UUID or address) */ 253 struct list_head fs_updates; /* afs_server (by update_at) */ --- 61 unchanged lines hidden (view full) --- 315struct afs_cell { 316 union { 317 struct rcu_head rcu; 318 struct rb_node net_node; /* Node in net->cells */ 319 }; 320 struct afs_net *net; 321 struct key *anonymous_key; /* anonymous user key for this cell */ 322 struct work_struct manager; /* Manager for init/deinit/dns */ |
325 struct list_head proc_link; /* /proc cell list link */ | 323 struct hlist_node proc_link; /* /proc cell list link */ |
326#ifdef CONFIG_AFS_FSCACHE 327 struct fscache_cookie *cache; /* caching cookie */ 328#endif 329 time64_t dns_expiry; /* Time AFSDB/SRV record expires */ 330 time64_t last_inactive; /* Time of last drop of usage count */ 331 atomic_t usage; 332 unsigned long flags; 333#define AFS_CELL_FL_NOT_READY 0 /* The cell record is not ready for use */ --- 925 unchanged lines hidden --- | 324#ifdef CONFIG_AFS_FSCACHE 325 struct fscache_cookie *cache; /* caching cookie */ 326#endif 327 time64_t dns_expiry; /* Time AFSDB/SRV record expires */ 328 time64_t last_inactive; /* Time of last drop of usage count */ 329 atomic_t usage; 330 unsigned long flags; 331#define AFS_CELL_FL_NOT_READY 0 /* The cell record is not ready for use */ --- 925 unchanged lines hidden --- |