mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	pipe: set FMODE_NOWAIT on pipes
Pipes themselves do not hold the the pipe lock across IO, and hence are safe for RWF_NOWAIT/IOCB_NOWAIT usage. The "contract" for NOWAIT is really "should not do IO under this lock", not strictly that we cannot block or that the below code is in any way atomic. Pipes fulfil that criteria. Acked-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									0f99fc513d
								
							
						
					
					
						commit
						afed6271f5
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		|  | @ -976,6 +976,9 @@ static int __do_pipe_flags(int *fd, struct file **files, int flags) | |||
| 	audit_fd_pair(fdr, fdw); | ||||
| 	fd[0] = fdr; | ||||
| 	fd[1] = fdw; | ||||
| 	/* pipe groks IOCB_NOWAIT */ | ||||
| 	files[0]->f_mode |= FMODE_NOWAIT; | ||||
| 	files[1]->f_mode |= FMODE_NOWAIT; | ||||
| 	return 0; | ||||
| 
 | ||||
|  err_fdr: | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Jens Axboe
						Jens Axboe