Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'fs_for_v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

Pull udf fixes from Jan Kara:
"Fix bugs in UDF caused by the big pile of changes that went in during
the merge window"

* tag 'fs_for_v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
udf: Warn if block mapping is done for in-ICB files
udf: Fix reading of in-ICB files
udf: Fix lost writes in udf_adinicb_writepage()

+13 -1
+13 -1
fs/udf/inode.c
··· 193 193 struct udf_inode_info *iinfo = UDF_I(inode); 194 194 195 195 BUG_ON(!PageLocked(page)); 196 - memcpy_to_page(page, 0, iinfo->i_data + iinfo->i_lenEAttr, 196 + memcpy_from_page(iinfo->i_data + iinfo->i_lenEAttr, page, 0, 197 197 i_size_read(inode)); 198 198 unlock_page(page); 199 199 mark_inode_dirty(inode); ··· 241 241 242 242 static void udf_readahead(struct readahead_control *rac) 243 243 { 244 + struct udf_inode_info *iinfo = UDF_I(rac->mapping->host); 245 + 246 + /* 247 + * No readahead needed for in-ICB files and udf_get_block() would get 248 + * confused for such file anyway. 249 + */ 250 + if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) 251 + return; 252 + 244 253 mpage_readahead(rac, udf_get_block); 245 254 } 246 255 ··· 415 406 { 416 407 int err; 417 408 struct udf_inode_info *iinfo = UDF_I(inode); 409 + 410 + if (WARN_ON_ONCE(iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)) 411 + return -EFSCORRUPTED; 418 412 419 413 map->oflags = 0; 420 414 if (!(map->iflags & UDF_MAP_CREATE)) {