mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	NFS: Don't check lock owner compatibility in writes unless file is locked
If we're doing buffered writes, and there is no file locking involved, then we don't have to worry about whether or not the lock owner information is identical. By relaxing this check, we ensure that fork()ed child processes can write to a page without having to first sync dirty data that was written by the parent to disk. Reported-by: Quentin Barnes <qbarnes@gmail.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Tested-by: Quentin Barnes <qbarnes@gmail.com>
This commit is contained in:
		
							parent
							
								
									8897538e97
								
							
						
					
					
						commit
						0f1d260550
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -863,7 +863,7 @@ int nfs_flush_incompatible(struct file *file, struct page *page)
 | 
			
		|||
			return 0;
 | 
			
		||||
		l_ctx = req->wb_lock_context;
 | 
			
		||||
		do_flush = req->wb_page != page || req->wb_context != ctx;
 | 
			
		||||
		if (l_ctx) {
 | 
			
		||||
		if (l_ctx && ctx->dentry->d_inode->i_flock != NULL) {
 | 
			
		||||
			do_flush |= l_ctx->lockowner.l_owner != current->files
 | 
			
		||||
				|| l_ctx->lockowner.l_pid != current->tgid;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue