Loading fs/orangefs/orangefs-kernel.h +0 −4 Original line number Diff line number Diff line Loading @@ -580,10 +580,6 @@ int orangefs_inode_setattr(struct inode *inode, struct iattr *iattr); void orangefs_make_bad_inode(struct inode *inode); void orangefs_block_signals(sigset_t *); void orangefs_set_signals(sigset_t *); int orangefs_unmount_sb(struct super_block *sb); bool orangefs_cancel_op_in_progress(struct orangefs_kernel_op_s *op); Loading fs/orangefs/orangefs-utils.c +0 −21 Original line number Diff line number Diff line Loading @@ -707,27 +707,6 @@ void orangefs_make_bad_inode(struct inode *inode) } } /* Block all blockable signals... */ void orangefs_block_signals(sigset_t *orig_sigset) { sigset_t mask; /* * Initialize all entries in the signal set to the * inverse of the given mask. */ siginitsetinv(&mask, sigmask(SIGKILL)); /* Block 'em Danno... */ sigprocmask(SIG_BLOCK, &mask, orig_sigset); } /* set the signal mask to the given template... */ void orangefs_set_signals(sigset_t *sigset) { sigprocmask(SIG_SETMASK, sigset, NULL); } /* * The following is a very dirty hack that is now a permanent part of the * ORANGEFS protocol. See protocol.h for more error definitions. Loading fs/orangefs/waitqueue.c +14 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ #include "orangefs-kernel.h" #include "orangefs-bufmap.h" static int wait_for_matching_downcall(struct orangefs_kernel_op_s *); static int wait_for_matching_downcall(struct orangefs_kernel_op_s *, bool); static void orangefs_clean_up_interrupted_operation(struct orangefs_kernel_op_s *); /* Loading Loading @@ -56,7 +56,6 @@ int service_operation(struct orangefs_kernel_op_s *op, int flags) { /* flags to modify behavior */ sigset_t orig_sigset; int ret = 0; DEFINE_WAIT(wait_entry); Loading @@ -75,19 +74,16 @@ int service_operation(struct orangefs_kernel_op_s *op, current->comm, current->pid); /* mask out signals if this operation is not to be interrupted */ if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_block_signals(&orig_sigset); if (!(flags & ORANGEFS_OP_NO_SEMAPHORE)) { if (flags & ORANGEFS_OP_INTERRUPTIBLE) ret = mutex_lock_interruptible(&request_mutex); else ret = mutex_lock_killable(&request_mutex); /* * check to see if we were interrupted while waiting for * semaphore */ if (ret < 0) { if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_set_signals(&orig_sigset); op->downcall.status = ret; gossip_debug(GOSSIP_WAIT_DEBUG, "orangefs: service_operation interrupted.\n"); Loading Loading @@ -128,7 +124,7 @@ int service_operation(struct orangefs_kernel_op_s *op, if (flags & ORANGEFS_OP_ASYNC) return 0; ret = wait_for_matching_downcall(op); ret = wait_for_matching_downcall(op, flags & ORANGEFS_OP_INTERRUPTIBLE); if (ret < 0) { /* failed to get matching downcall */ Loading @@ -146,9 +142,6 @@ int service_operation(struct orangefs_kernel_op_s *op, ret = op->downcall.status; } if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_set_signals(&orig_sigset); BUG_ON(ret != op->downcall.status); /* retry if operation has not been serviced and if requested */ if (!op_state_serviced(op) && op->downcall.status == -EAGAIN) { Loading Loading @@ -334,12 +327,18 @@ static void orangefs_clean_up_interrupted_operation(struct orangefs_kernel_op_s * * Returns with op->lock taken. */ static int wait_for_matching_downcall(struct orangefs_kernel_op_s *op) static int wait_for_matching_downcall(struct orangefs_kernel_op_s *op, bool interruptible) { long timeout, n; timeout = op->attempts ? op_timeout_secs * HZ : MAX_SCHEDULE_TIMEOUT; if (interruptible) n = wait_for_completion_interruptible_timeout(&op->waitq, timeout); else n = wait_for_completion_killable_timeout(&op->waitq, timeout); spin_lock(&op->lock); if (op_state_serviced(op)) Loading Loading
fs/orangefs/orangefs-kernel.h +0 −4 Original line number Diff line number Diff line Loading @@ -580,10 +580,6 @@ int orangefs_inode_setattr(struct inode *inode, struct iattr *iattr); void orangefs_make_bad_inode(struct inode *inode); void orangefs_block_signals(sigset_t *); void orangefs_set_signals(sigset_t *); int orangefs_unmount_sb(struct super_block *sb); bool orangefs_cancel_op_in_progress(struct orangefs_kernel_op_s *op); Loading
fs/orangefs/orangefs-utils.c +0 −21 Original line number Diff line number Diff line Loading @@ -707,27 +707,6 @@ void orangefs_make_bad_inode(struct inode *inode) } } /* Block all blockable signals... */ void orangefs_block_signals(sigset_t *orig_sigset) { sigset_t mask; /* * Initialize all entries in the signal set to the * inverse of the given mask. */ siginitsetinv(&mask, sigmask(SIGKILL)); /* Block 'em Danno... */ sigprocmask(SIG_BLOCK, &mask, orig_sigset); } /* set the signal mask to the given template... */ void orangefs_set_signals(sigset_t *sigset) { sigprocmask(SIG_SETMASK, sigset, NULL); } /* * The following is a very dirty hack that is now a permanent part of the * ORANGEFS protocol. See protocol.h for more error definitions. Loading
fs/orangefs/waitqueue.c +14 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ #include "orangefs-kernel.h" #include "orangefs-bufmap.h" static int wait_for_matching_downcall(struct orangefs_kernel_op_s *); static int wait_for_matching_downcall(struct orangefs_kernel_op_s *, bool); static void orangefs_clean_up_interrupted_operation(struct orangefs_kernel_op_s *); /* Loading Loading @@ -56,7 +56,6 @@ int service_operation(struct orangefs_kernel_op_s *op, int flags) { /* flags to modify behavior */ sigset_t orig_sigset; int ret = 0; DEFINE_WAIT(wait_entry); Loading @@ -75,19 +74,16 @@ int service_operation(struct orangefs_kernel_op_s *op, current->comm, current->pid); /* mask out signals if this operation is not to be interrupted */ if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_block_signals(&orig_sigset); if (!(flags & ORANGEFS_OP_NO_SEMAPHORE)) { if (flags & ORANGEFS_OP_INTERRUPTIBLE) ret = mutex_lock_interruptible(&request_mutex); else ret = mutex_lock_killable(&request_mutex); /* * check to see if we were interrupted while waiting for * semaphore */ if (ret < 0) { if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_set_signals(&orig_sigset); op->downcall.status = ret; gossip_debug(GOSSIP_WAIT_DEBUG, "orangefs: service_operation interrupted.\n"); Loading Loading @@ -128,7 +124,7 @@ int service_operation(struct orangefs_kernel_op_s *op, if (flags & ORANGEFS_OP_ASYNC) return 0; ret = wait_for_matching_downcall(op); ret = wait_for_matching_downcall(op, flags & ORANGEFS_OP_INTERRUPTIBLE); if (ret < 0) { /* failed to get matching downcall */ Loading @@ -146,9 +142,6 @@ int service_operation(struct orangefs_kernel_op_s *op, ret = op->downcall.status; } if (!(flags & ORANGEFS_OP_INTERRUPTIBLE)) orangefs_set_signals(&orig_sigset); BUG_ON(ret != op->downcall.status); /* retry if operation has not been serviced and if requested */ if (!op_state_serviced(op) && op->downcall.status == -EAGAIN) { Loading Loading @@ -334,12 +327,18 @@ static void orangefs_clean_up_interrupted_operation(struct orangefs_kernel_op_s * * Returns with op->lock taken. */ static int wait_for_matching_downcall(struct orangefs_kernel_op_s *op) static int wait_for_matching_downcall(struct orangefs_kernel_op_s *op, bool interruptible) { long timeout, n; timeout = op->attempts ? op_timeout_secs * HZ : MAX_SCHEDULE_TIMEOUT; if (interruptible) n = wait_for_completion_interruptible_timeout(&op->waitq, timeout); else n = wait_for_completion_killable_timeout(&op->waitq, timeout); spin_lock(&op->lock); if (op_state_serviced(op)) Loading