mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	for-5.14-rc3-tag
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAmEEDKIACgkQxWXV+ddt WDtW+BAAnUD7h3ollIQo4C6hE9WaTG49Tp12Z00Og2m8hn4XyhI2QIaDz6a2CU7n MLQv16vZUQk5Z/VMtczM+5ZF5Rf0ywlMXnS4Sq5yKWT0YHpnH7q2nMAvg4gql/tJ Ldov92hnTrFAZX6vvkLVM5lZriY7fop3Lv2vHeAKu4CymAoisAv+SLa5xYkBR6Ig 3S16+lh/rIRgssI7KuDnjp9iTXvnB1J2MbfAOLNfqjXGWUDumu1k7HWQSNYZnHJX L390/QS3F3K6Trxkf5MSUXOxQROqcGKQVKyAR5ZvyULKly84nDpiINze80yCopq/ 7//32pO43xDPb78c7saxSWtjdgX4XsBOdzIoiJZHnc5CTTbCcneLes8zz4fD6AGq vjZKDLTgiO/sRlkQHZQk1y+7CawrqbKkAG+O7MqF7KGOtQ1WLRGfAkFP732TBFXM TyoZ7ENh3TiFDdeRmkOonpQ2k3DctW+7z2BmdlsuSXgD8fFbEArfxnO1SnRHrmcr C8FNeSkks8MTL7uePNUxwlnB8uHuGWCgSuS++q4OkCnzA3AmO6cRlDoMT3RMwVB/ wQxvqF/U6JJx16YOVqwA6ZjuUWVwyBj/WBKlaxgfghz8CUmDC0D4Xb2/S1UVcZi6 bFRph0UKeE5LaduoNZYaAqMOinCXFmetjudPmWO4sWfPrLb1mOY= =J0Pw -----END PGP SIGNATURE----- Merge tag 'for-5.14-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux Pull btrfs fixes from David Sterba: - fix -Warray-bounds warning, to help external patchset to make it default treewide - fix writeable device accounting (syzbot report) - fix fsync and log replay after a rename and inode eviction - fix potentially lost error code when submitting multiple bios for compressed range * tag 'for-5.14-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: calculate number of eb pages properly in csum_tree_block btrfs: fix rw device counting in __btrfs_free_extra_devids btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction btrfs: mark compressed range uptodate only if all bio succeed
This commit is contained in:
		
						commit
						051df241e4
					
				
					 4 changed files with 5 additions and 4 deletions
				
			
		| 
						 | 
					@ -352,7 +352,7 @@ static void end_compressed_bio_write(struct bio *bio)
 | 
				
			||||||
	btrfs_record_physical_zoned(inode, cb->start, bio);
 | 
						btrfs_record_physical_zoned(inode, cb->start, bio);
 | 
				
			||||||
	btrfs_writepage_endio_finish_ordered(BTRFS_I(inode), NULL,
 | 
						btrfs_writepage_endio_finish_ordered(BTRFS_I(inode), NULL,
 | 
				
			||||||
			cb->start, cb->start + cb->len - 1,
 | 
								cb->start, cb->start + cb->len - 1,
 | 
				
			||||||
			bio->bi_status == BLK_STS_OK);
 | 
								!cb->errors);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	end_compressed_writeback(inode, cb);
 | 
						end_compressed_writeback(inode, cb);
 | 
				
			||||||
	/* note, our inode could be gone now */
 | 
						/* note, our inode could be gone now */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,7 +209,7 @@ void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb,
 | 
				
			||||||
static void csum_tree_block(struct extent_buffer *buf, u8 *result)
 | 
					static void csum_tree_block(struct extent_buffer *buf, u8 *result)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct btrfs_fs_info *fs_info = buf->fs_info;
 | 
						struct btrfs_fs_info *fs_info = buf->fs_info;
 | 
				
			||||||
	const int num_pages = fs_info->nodesize >> PAGE_SHIFT;
 | 
						const int num_pages = num_extent_pages(buf);
 | 
				
			||||||
	const int first_page_part = min_t(u32, PAGE_SIZE, fs_info->nodesize);
 | 
						const int first_page_part = min_t(u32, PAGE_SIZE, fs_info->nodesize);
 | 
				
			||||||
	SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
 | 
						SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
 | 
				
			||||||
	char *kaddr;
 | 
						char *kaddr;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6503,8 +6503,8 @@ void btrfs_log_new_name(struct btrfs_trans_handle *trans,
 | 
				
			||||||
	 * if this inode hasn't been logged and directory we're renaming it
 | 
						 * if this inode hasn't been logged and directory we're renaming it
 | 
				
			||||||
	 * from hasn't been logged, we don't need to log it
 | 
						 * from hasn't been logged, we don't need to log it
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	if (inode->logged_trans < trans->transid &&
 | 
						if (!inode_logged(trans, inode) &&
 | 
				
			||||||
	    (!old_dir || old_dir->logged_trans < trans->transid))
 | 
						    (!old_dir || !inode_logged(trans, old_dir)))
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1078,6 +1078,7 @@ static void __btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices,
 | 
				
			||||||
		if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) {
 | 
							if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) {
 | 
				
			||||||
			list_del_init(&device->dev_alloc_list);
 | 
								list_del_init(&device->dev_alloc_list);
 | 
				
			||||||
			clear_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state);
 | 
								clear_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state);
 | 
				
			||||||
 | 
								fs_devices->rw_devices--;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		list_del_init(&device->dev_list);
 | 
							list_del_init(&device->dev_list);
 | 
				
			||||||
		fs_devices->num_devices--;
 | 
							fs_devices->num_devices--;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue