|
Lines 295-300
static void destroy_inode(struct inode *inode)
Link Here
|
| 295 |
call_rcu(&inode->i_rcu, i_callback); |
295 |
call_rcu(&inode->i_rcu, i_callback); |
| 296 |
} |
296 |
} |
| 297 |
|
297 |
|
|
|
298 |
void address_space_init_once(struct address_space *mapping) |
| 299 |
{ |
| 300 |
memset(mapping, 0, sizeof(*mapping)); |
| 301 |
INIT_RADIX_TREE(&mapping->page_tree, GFP_ATOMIC); |
| 302 |
spin_lock_init(&mapping->tree_lock); |
| 303 |
spin_lock_init(&mapping->i_mmap_lock); |
| 304 |
INIT_LIST_HEAD(&mapping->private_list); |
| 305 |
spin_lock_init(&mapping->private_lock); |
| 306 |
INIT_RAW_PRIO_TREE_ROOT(&mapping->i_mmap); |
| 307 |
INIT_LIST_HEAD(&mapping->i_mmap_nonlinear); |
| 308 |
mutex_init(&mapping->unmap_mutex); |
| 309 |
} |
| 310 |
EXPORT_SYMBOL(address_space_init_once); |
| 311 |
|
| 298 |
/* |
312 |
/* |
| 299 |
* These are initializations that only need to be done |
313 |
* These are initializations that only need to be done |
| 300 |
* once, because the fields are idempotent across use |
314 |
* once, because the fields are idempotent across use |
|
Lines 308-320
void inode_init_once(struct inode *inode)
Link Here
|
| 308 |
INIT_LIST_HEAD(&inode->i_devices); |
322 |
INIT_LIST_HEAD(&inode->i_devices); |
| 309 |
INIT_LIST_HEAD(&inode->i_wb_list); |
323 |
INIT_LIST_HEAD(&inode->i_wb_list); |
| 310 |
INIT_LIST_HEAD(&inode->i_lru); |
324 |
INIT_LIST_HEAD(&inode->i_lru); |
| 311 |
INIT_RADIX_TREE(&inode->i_data.page_tree, GFP_ATOMIC); |
325 |
address_space_init_once(&inode->i_data); |
| 312 |
spin_lock_init(&inode->i_data.tree_lock); |
|
|
| 313 |
spin_lock_init(&inode->i_data.i_mmap_lock); |
| 314 |
INIT_LIST_HEAD(&inode->i_data.private_list); |
| 315 |
spin_lock_init(&inode->i_data.private_lock); |
| 316 |
INIT_RAW_PRIO_TREE_ROOT(&inode->i_data.i_mmap); |
| 317 |
INIT_LIST_HEAD(&inode->i_data.i_mmap_nonlinear); |
| 318 |
i_size_ordered_init(inode); |
326 |
i_size_ordered_init(inode); |
| 319 |
#ifdef CONFIG_FSNOTIFY |
327 |
#ifdef CONFIG_FSNOTIFY |
| 320 |
INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |
328 |
INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |