diff options
Diffstat (limited to 'fs/pipe.c')
| -rw-r--r-- | fs/pipe.c | 44 | 
1 files changed, 22 insertions, 22 deletions
diff --git a/fs/pipe.c b/fs/pipe.c index 66aa0b938d6..acb030b61fb 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -44,10 +44,10 @@ void pipe_wait(struct inode * inode)  	 * is considered a noninteractive wait:  	 */  	prepare_to_wait(PIPE_WAIT(*inode), &wait, TASK_INTERRUPTIBLE|TASK_NONINTERACTIVE); -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	schedule();  	finish_wait(PIPE_WAIT(*inode), &wait); -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  }  static inline int @@ -136,7 +136,7 @@ pipe_readv(struct file *filp, const struct iovec *_iov,  	do_wakeup = 0;  	ret = 0; -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	info = inode->i_pipe;  	for (;;) {  		int bufs = info->nrbufs; @@ -200,7 +200,7 @@ pipe_readv(struct file *filp, const struct iovec *_iov,  		}  		pipe_wait(inode);  	} -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	/* Signal writers asynchronously that there is more room.  */  	if (do_wakeup) {  		wake_up_interruptible(PIPE_WAIT(*inode)); @@ -237,7 +237,7 @@ pipe_writev(struct file *filp, const struct iovec *_iov,  	do_wakeup = 0;  	ret = 0; -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	info = inode->i_pipe;  	if (!PIPE_READERS(*inode)) { @@ -341,7 +341,7 @@ pipe_writev(struct file *filp, const struct iovec *_iov,  		PIPE_WAITING_WRITERS(*inode)--;  	}  out: -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	if (do_wakeup) {  		wake_up_interruptible(PIPE_WAIT(*inode));  		kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN); @@ -381,7 +381,7 @@ pipe_ioctl(struct inode *pino, struct file *filp,  	switch (cmd) {  		case FIONREAD: -			down(PIPE_SEM(*inode)); +			mutex_lock(PIPE_MUTEX(*inode));  			info =  inode->i_pipe;  			count = 0;  			buf = info->curbuf; @@ -390,7 +390,7 @@ pipe_ioctl(struct inode *pino, struct file *filp,  				count += info->bufs[buf].len;  				buf = (buf+1) & (PIPE_BUFFERS-1);  			} -			up(PIPE_SEM(*inode)); +			mutex_unlock(PIPE_MUTEX(*inode));  			return put_user(count, (int __user *)arg);  		default:  			return -EINVAL; @@ -433,7 +433,7 @@ pipe_poll(struct file *filp, poll_table *wait)  static int  pipe_release(struct inode *inode, int decr, int decw)  { -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	PIPE_READERS(*inode) -= decr;  	PIPE_WRITERS(*inode) -= decw;  	if (!PIPE_READERS(*inode) && !PIPE_WRITERS(*inode)) { @@ -443,7 +443,7 @@ pipe_release(struct inode *inode, int decr, int decw)  		kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN);  		kill_fasync(PIPE_FASYNC_WRITERS(*inode), SIGIO, POLL_OUT);  	} -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	return 0;  } @@ -454,9 +454,9 @@ pipe_read_fasync(int fd, struct file *filp, int on)  	struct inode *inode = filp->f_dentry->d_inode;  	int retval; -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	retval = fasync_helper(fd, filp, on, PIPE_FASYNC_READERS(*inode)); -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	if (retval < 0)  		return retval; @@ -471,9 +471,9 @@ pipe_write_fasync(int fd, struct file *filp, int on)  	struct inode *inode = filp->f_dentry->d_inode;  	int retval; -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	retval = fasync_helper(fd, filp, on, PIPE_FASYNC_WRITERS(*inode)); -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	if (retval < 0)  		return retval; @@ -488,14 +488,14 @@ pipe_rdwr_fasync(int fd, struct file *filp, int on)  	struct inode *inode = filp->f_dentry->d_inode;  	int retval; -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	retval = fasync_helper(fd, filp, on, PIPE_FASYNC_READERS(*inode));  	if (retval >= 0)  		retval = fasync_helper(fd, filp, on, PIPE_FASYNC_WRITERS(*inode)); -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	if (retval < 0)  		return retval; @@ -534,9 +534,9 @@ pipe_read_open(struct inode *inode, struct file *filp)  {  	/* We could have perhaps used atomic_t, but this and friends  	   below are the only places.  So it doesn't seem worthwhile.  */ -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	PIPE_READERS(*inode)++; -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	return 0;  } @@ -544,9 +544,9 @@ pipe_read_open(struct inode *inode, struct file *filp)  static int  pipe_write_open(struct inode *inode, struct file *filp)  { -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	PIPE_WRITERS(*inode)++; -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	return 0;  } @@ -554,12 +554,12 @@ pipe_write_open(struct inode *inode, struct file *filp)  static int  pipe_rdwr_open(struct inode *inode, struct file *filp)  { -	down(PIPE_SEM(*inode)); +	mutex_lock(PIPE_MUTEX(*inode));  	if (filp->f_mode & FMODE_READ)  		PIPE_READERS(*inode)++;  	if (filp->f_mode & FMODE_WRITE)  		PIPE_WRITERS(*inode)++; -	up(PIPE_SEM(*inode)); +	mutex_unlock(PIPE_MUTEX(*inode));  	return 0;  }  |