orangefs: clean up op_alloc()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 23 Jan 2016 19:04:31 +0000 (14:04 -0500)
committerMike Marshall <hubcap@omnibond.com>
Sat, 23 Jan 2016 20:20:11 +0000 (15:20 -0500)
fold orangefs_op_initialize() in there, don't bother locking something
nobody else could've seen yet, use kmem_cache_zalloc() instead of
explicit memset()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/orangefs-cache.c
fs/orangefs/orangefs-kernel.h
fs/orangefs/orangefs-utils.c

index 90c11a0..e72ac20 100644 (file)
@@ -111,17 +111,22 @@ struct orangefs_kernel_op_s *op_alloc(__s32 type)
 {
        struct orangefs_kernel_op_s *new_op = NULL;
 
-       new_op = kmem_cache_alloc(op_cache, ORANGEFS_CACHE_ALLOC_FLAGS);
+       new_op = kmem_cache_zalloc(op_cache, ORANGEFS_CACHE_ALLOC_FLAGS);
        if (new_op) {
-               memset(new_op, 0, sizeof(struct orangefs_kernel_op_s));
-
                INIT_LIST_HEAD(&new_op->list);
                spin_lock_init(&new_op->lock);
                init_waitqueue_head(&new_op->waitq);
 
                atomic_set(&new_op->ref_count, 1);
 
-               orangefs_op_initialize(new_op);
+               init_completion(&new_op->done);
+
+               new_op->upcall.type = ORANGEFS_VFS_OP_INVALID;
+               new_op->downcall.type = ORANGEFS_VFS_OP_INVALID;
+               new_op->downcall.status = -1;
+
+               new_op->op_state = OP_VFS_STATE_UNKNOWN;
+               new_op->tag = 0;
 
                /* initialize the op specific tag and upcall credentials */
                spin_lock(&next_tag_value_lock);
index e11fc67..9c87676 100644 (file)
@@ -565,8 +565,6 @@ int orangefs_inode_getattr(struct inode *inode, __u32 mask);
 
 int orangefs_inode_setattr(struct inode *inode, struct iattr *iattr);
 
-void orangefs_op_initialize(struct orangefs_kernel_op_s *op);
-
 void orangefs_make_bad_inode(struct inode *inode);
 
 void orangefs_block_signals(sigset_t *);
index ca7edcf..92a38b0 100644 (file)
@@ -593,22 +593,6 @@ int orangefs_cancel_op_in_progress(__u64 tag)
        return ret;
 }
 
-void orangefs_op_initialize(struct orangefs_kernel_op_s *op)
-{
-       if (op) {
-               spin_lock(&op->lock);
-               init_completion(&op->done);
-
-               op->upcall.type = ORANGEFS_VFS_OP_INVALID;
-               op->downcall.type = ORANGEFS_VFS_OP_INVALID;
-               op->downcall.status = -1;
-
-               op->op_state = OP_VFS_STATE_UNKNOWN;
-               op->tag = 0;
-               spin_unlock(&op->lock);
-       }
-}
-
 void orangefs_make_bad_inode(struct inode *inode)
 {
        if (is_root_handle(inode)) {