aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/afs/super.c')
-rw-r--r--fs/afs/super.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/afs/super.c b/fs/afs/super.c
index 370cecc910db..8d47ad88a093 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -451,17 +451,15 @@ static void afs_i_init_once(void *_vnode, struct kmem_cache *cachep,
451{ 451{
452 struct afs_vnode *vnode = _vnode; 452 struct afs_vnode *vnode = _vnode;
453 453
454 if (flags & SLAB_CTOR_CONSTRUCTOR) { 454 memset(vnode, 0, sizeof(*vnode));
455 memset(vnode, 0, sizeof(*vnode)); 455 inode_init_once(&vnode->vfs_inode);
456 inode_init_once(&vnode->vfs_inode); 456 init_waitqueue_head(&vnode->update_waitq);
457 init_waitqueue_head(&vnode->update_waitq); 457 mutex_init(&vnode->permits_lock);
458 mutex_init(&vnode->permits_lock); 458 mutex_init(&vnode->validate_lock);
459 mutex_init(&vnode->validate_lock); 459 spin_lock_init(&vnode->writeback_lock);
460 spin_lock_init(&vnode->writeback_lock); 460 spin_lock_init(&vnode->lock);
461 spin_lock_init(&vnode->lock); 461 INIT_LIST_HEAD(&vnode->writebacks);
462 INIT_LIST_HEAD(&vnode->writebacks); 462 INIT_WORK(&vnode->cb_broken_work, afs_broken_callback_work);
463 INIT_WORK(&vnode->cb_broken_work, afs_broken_callback_work);
464 }
465} 463}
466 464
467/* 465/*