mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ext4: fast commit may miss tracking unwritten range during ftruncate
If use FALLOC_FL_KEEP_SIZE to alloc unwritten range at bottom, the inode->i_size will not include the unwritten range. When call ftruncate with fast commit enabled, it will miss to track the unwritten range. Change to trace the full range during ftruncate. Signed-off-by: Xin Yin <yinxin.x@bytedance.com> Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com> Link: https://lore.kernel.org/r/20211223032337.5198-3-yinxin.x@bytedance.com Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@kernel.org
This commit is contained in:
		
							parent
							
								
									0b5b5a62b9
								
							
						
					
					
						commit
						9725958bb7
					
				
					 1 changed files with 1 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -5424,8 +5424,7 @@ int ext4_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
 | 
			
		|||
				ext4_fc_track_range(handle, inode,
 | 
			
		||||
					(attr->ia_size > 0 ? attr->ia_size - 1 : 0) >>
 | 
			
		||||
					inode->i_sb->s_blocksize_bits,
 | 
			
		||||
					(oldsize > 0 ? oldsize - 1 : 0) >>
 | 
			
		||||
					inode->i_sb->s_blocksize_bits);
 | 
			
		||||
					EXT_MAX_BLOCKS - 1);
 | 
			
		||||
			else
 | 
			
		||||
				ext4_fc_track_range(
 | 
			
		||||
					handle, inode,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue