mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	btrfs: remove unused raid56 functions which were dedicated for scrub
Since the scrub rework, the following RAID56 functions are no longer called: - raid56_add_scrub_pages() - raid56_alloc_missing_rbio() - raid56_submit_missing_rbio() Those functions are all utilized by scrub to handle missing device cases for RAID56. However the new scrub code handle them in a completely different way: - If it's data stripe, go recovery path through btrfs_submit_bio() - If it's P/Q stripe, it would be handled through raid56_parity_submit_scrub_rbio() And that function would handle dev-replace and repair properly. Thus we can safely remove those functions. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
		
							parent
							
								
									13a62fd997
								
							
						
					
					
						commit
						aca43fe839
					
				
					 2 changed files with 0 additions and 54 deletions
				
			
		|  | @ -2376,23 +2376,6 @@ struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio, | ||||||
| 	return rbio; | 	return rbio; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Used for both parity scrub and missing. */ |  | ||||||
| void raid56_add_scrub_pages(struct btrfs_raid_bio *rbio, struct page *page, |  | ||||||
| 			    unsigned int pgoff, u64 logical) |  | ||||||
| { |  | ||||||
| 	const u32 sectorsize = rbio->bioc->fs_info->sectorsize; |  | ||||||
| 	int stripe_offset; |  | ||||||
| 	int index; |  | ||||||
| 
 |  | ||||||
| 	ASSERT(logical >= rbio->bioc->full_stripe_logical); |  | ||||||
| 	ASSERT(logical + sectorsize <= rbio->bioc->full_stripe_logical + |  | ||||||
| 				       BTRFS_STRIPE_LEN * rbio->nr_data); |  | ||||||
| 	stripe_offset = (int)(logical - rbio->bioc->full_stripe_logical); |  | ||||||
| 	index = stripe_offset / sectorsize; |  | ||||||
| 	rbio->bio_sectors[index].page = page; |  | ||||||
| 	rbio->bio_sectors[index].pgoff = pgoff; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /*
 | /*
 | ||||||
|  * We just scrub the parity that we have correct data on the same horizontal, |  * We just scrub the parity that we have correct data on the same horizontal, | ||||||
|  * so we needn't allocate all pages for all the stripes. |  * so we needn't allocate all pages for all the stripes. | ||||||
|  | @ -2764,33 +2747,3 @@ void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio) | ||||||
| 	if (!lock_stripe_add(rbio)) | 	if (!lock_stripe_add(rbio)) | ||||||
| 		start_async_work(rbio, scrub_rbio_work_locked); | 		start_async_work(rbio, scrub_rbio_work_locked); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| /* The following code is used for dev replace of a missing RAID 5/6 device. */ |  | ||||||
| 
 |  | ||||||
| struct btrfs_raid_bio * |  | ||||||
| raid56_alloc_missing_rbio(struct bio *bio, struct btrfs_io_context *bioc) |  | ||||||
| { |  | ||||||
| 	struct btrfs_fs_info *fs_info = bioc->fs_info; |  | ||||||
| 	struct btrfs_raid_bio *rbio; |  | ||||||
| 
 |  | ||||||
| 	rbio = alloc_rbio(fs_info, bioc); |  | ||||||
| 	if (IS_ERR(rbio)) |  | ||||||
| 		return NULL; |  | ||||||
| 
 |  | ||||||
| 	rbio->operation = BTRFS_RBIO_REBUILD_MISSING; |  | ||||||
| 	bio_list_add(&rbio->bio_list, bio); |  | ||||||
| 	/*
 |  | ||||||
| 	 * This is a special bio which is used to hold the completion handler |  | ||||||
| 	 * and make the scrub rbio is similar to the other types |  | ||||||
| 	 */ |  | ||||||
| 	ASSERT(!bio->bi_iter.bi_size); |  | ||||||
| 
 |  | ||||||
| 	set_rbio_range_error(rbio, bio); |  | ||||||
| 
 |  | ||||||
| 	return rbio; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void raid56_submit_missing_rbio(struct btrfs_raid_bio *rbio) |  | ||||||
| { |  | ||||||
| 	start_async_work(rbio, recover_rbio_work); |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -187,19 +187,12 @@ void raid56_parity_recover(struct bio *bio, struct btrfs_io_context *bioc, | ||||||
| 			   int mirror_num); | 			   int mirror_num); | ||||||
| void raid56_parity_write(struct bio *bio, struct btrfs_io_context *bioc); | void raid56_parity_write(struct bio *bio, struct btrfs_io_context *bioc); | ||||||
| 
 | 
 | ||||||
| void raid56_add_scrub_pages(struct btrfs_raid_bio *rbio, struct page *page, |  | ||||||
| 			    unsigned int pgoff, u64 logical); |  | ||||||
| 
 |  | ||||||
| struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio, | struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio, | ||||||
| 				struct btrfs_io_context *bioc, | 				struct btrfs_io_context *bioc, | ||||||
| 				struct btrfs_device *scrub_dev, | 				struct btrfs_device *scrub_dev, | ||||||
| 				unsigned long *dbitmap, int stripe_nsectors); | 				unsigned long *dbitmap, int stripe_nsectors); | ||||||
| void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio); | void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio); | ||||||
| 
 | 
 | ||||||
| struct btrfs_raid_bio * |  | ||||||
| raid56_alloc_missing_rbio(struct bio *bio, struct btrfs_io_context *bioc); |  | ||||||
| void raid56_submit_missing_rbio(struct btrfs_raid_bio *rbio); |  | ||||||
| 
 |  | ||||||
| int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info); | int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info); | ||||||
| void btrfs_free_stripe_hash_table(struct btrfs_fs_info *info); | void btrfs_free_stripe_hash_table(struct btrfs_fs_info *info); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Qu Wenruo
						Qu Wenruo