forked from mirrors/linux
		
	Btrfs: remove csum_bytes_left
After commit 8407f55326
("Btrfs: fix data corruption after fast fsync and writeback error"),
during wait_ordered_extents(), we wait for ordered extent setting
BTRFS_ORDERED_IO_DONE or BTRFS_ORDERED_IOERR, at which point we've
already got checksum information, so we don't need to check
(csum_bytes_left == 0) in the whole logging path.
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Chris Mason <clm@fb.com>
			
			
This commit is contained in:
		
							parent
							
								
									39c2d7facc
								
							
						
					
					
						commit
						0c304304fe
					
				
					 3 changed files with 0 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -198,9 +198,6 @@ static int __btrfs_add_ordered_extent(struct inode *inode, u64 file_offset,
 | 
			
		|||
	entry->file_offset = file_offset;
 | 
			
		||||
	entry->start = start;
 | 
			
		||||
	entry->len = len;
 | 
			
		||||
	if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM) &&
 | 
			
		||||
	    !(type == BTRFS_ORDERED_NOCOW))
 | 
			
		||||
		entry->csum_bytes_left = disk_len;
 | 
			
		||||
	entry->disk_len = disk_len;
 | 
			
		||||
	entry->bytes_left = len;
 | 
			
		||||
	entry->inode = igrab(inode);
 | 
			
		||||
| 
						 | 
				
			
			@ -286,10 +283,6 @@ void btrfs_add_ordered_sum(struct inode *inode,
 | 
			
		|||
	tree = &BTRFS_I(inode)->ordered_tree;
 | 
			
		||||
	spin_lock_irq(&tree->lock);
 | 
			
		||||
	list_add_tail(&sum->list, &entry->list);
 | 
			
		||||
	WARN_ON(entry->csum_bytes_left < sum->len);
 | 
			
		||||
	entry->csum_bytes_left -= sum->len;
 | 
			
		||||
	if (entry->csum_bytes_left == 0)
 | 
			
		||||
		wake_up(&entry->wait);
 | 
			
		||||
	spin_unlock_irq(&tree->lock);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,9 +89,6 @@ struct btrfs_ordered_extent {
 | 
			
		|||
	/* number of bytes that still need writing */
 | 
			
		||||
	u64 bytes_left;
 | 
			
		||||
 | 
			
		||||
	/* number of bytes that still need csumming */
 | 
			
		||||
	u64 csum_bytes_left;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * the end of the ordered extent which is behind it but
 | 
			
		||||
	 * didn't update disk_i_size. Please see the comment of
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3881,12 +3881,6 @@ static int wait_ordered_extents(struct btrfs_trans_handle *trans,
 | 
			
		|||
				     &ordered->flags))
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		if (ordered->csum_bytes_left) {
 | 
			
		||||
			btrfs_start_ordered_extent(inode, ordered, 0);
 | 
			
		||||
			wait_event(ordered->wait,
 | 
			
		||||
				   ordered->csum_bytes_left == 0);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		list_for_each_entry(sum, &ordered->list, list) {
 | 
			
		||||
			ret = btrfs_csum_file_blocks(trans, log, sum);
 | 
			
		||||
			if (ret)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue