super.c (bc030d6cb9532877c1c5a3f5e7123344fa24a285) | super.c (fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9) |
---|---|
1/* AFS superblock handling 2 * 3 * Copyright (c) 2002, 2007 Red Hat, Inc. All rights reserved. 4 * 5 * This software may be freely redistributed under the terms of the 6 * GNU General Public License. 7 * 8 * You should have received a copy of the GNU General Public License --- 484 unchanged lines hidden (view full) --- 493 vnode->update_cnt = 0; 494 vnode->flags = 1 << AFS_VNODE_UNSET; 495 vnode->cb_promised = false; 496 497 _leave(" = %p", &vnode->vfs_inode); 498 return &vnode->vfs_inode; 499} 500 | 1/* AFS superblock handling 2 * 3 * Copyright (c) 2002, 2007 Red Hat, Inc. All rights reserved. 4 * 5 * This software may be freely redistributed under the terms of the 6 * GNU General Public License. 7 * 8 * You should have received a copy of the GNU General Public License --- 484 unchanged lines hidden (view full) --- 493 vnode->update_cnt = 0; 494 vnode->flags = 1 << AFS_VNODE_UNSET; 495 vnode->cb_promised = false; 496 497 _leave(" = %p", &vnode->vfs_inode); 498 return &vnode->vfs_inode; 499} 500 |
501static void afs_i_callback(struct rcu_head *head) 502{ 503 struct inode *inode = container_of(head, struct inode, i_rcu); 504 struct afs_vnode *vnode = AFS_FS_I(inode); 505 INIT_LIST_HEAD(&inode->i_dentry); 506 kmem_cache_free(afs_inode_cachep, vnode); 507} 508 |
|
501/* 502 * destroy an AFS inode struct 503 */ 504static void afs_destroy_inode(struct inode *inode) 505{ 506 struct afs_vnode *vnode = AFS_FS_I(inode); 507 508 _enter("%p{%x:%u}", inode, vnode->fid.vid, vnode->fid.vnode); 509 510 _debug("DESTROY INODE %p", inode); 511 512 ASSERTCMP(vnode->server, ==, NULL); 513 | 509/* 510 * destroy an AFS inode struct 511 */ 512static void afs_destroy_inode(struct inode *inode) 513{ 514 struct afs_vnode *vnode = AFS_FS_I(inode); 515 516 _enter("%p{%x:%u}", inode, vnode->fid.vid, vnode->fid.vnode); 517 518 _debug("DESTROY INODE %p", inode); 519 520 ASSERTCMP(vnode->server, ==, NULL); 521 |
514 kmem_cache_free(afs_inode_cachep, vnode); | 522 call_rcu(&inode->i_rcu, afs_i_callback); |
515 atomic_dec(&afs_count_active_inodes); 516} 517 518/* 519 * return information about an AFS volume 520 */ 521static int afs_statfs(struct dentry *dentry, struct kstatfs *buf) 522{ --- 27 unchanged lines hidden --- | 523 atomic_dec(&afs_count_active_inodes); 524} 525 526/* 527 * return information about an AFS volume 528 */ 529static int afs_statfs(struct dentry *dentry, struct kstatfs *buf) 530{ --- 27 unchanged lines hidden --- |