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

udf: Move udf_adinicb_readpage() to inode.c

udf_adinicb_readpage() is only called from aops functions, move it to
the same file as its callers and also drop the stale comment -
invalidate_lock is protecting us against races with truncate.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>

Jan Kara 174cb748 759e4d74

+15 -20
-19
fs/udf/file.c
··· 38 38 #include "udf_i.h" 39 39 #include "udf_sb.h" 40 40 41 - void udf_adinicb_readpage(struct page *page) 42 - { 43 - struct inode *inode = page->mapping->host; 44 - char *kaddr; 45 - struct udf_inode_info *iinfo = UDF_I(inode); 46 - loff_t isize = i_size_read(inode); 47 - 48 - /* 49 - * We have to be careful here as truncate can change i_size under us. 50 - * So just sample it once and use the same value everywhere. 51 - */ 52 - kaddr = kmap_atomic(page); 53 - memcpy(kaddr, iinfo->i_data + iinfo->i_lenEAttr, isize); 54 - memset(kaddr + isize, 0, PAGE_SIZE - isize); 55 - flush_dcache_page(page); 56 - SetPageUptodate(page); 57 - kunmap_atomic(kaddr); 58 - } 59 - 60 41 static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf) 61 42 { 62 43 struct vm_area_struct *vma = vmf->vma;
+15
fs/udf/inode.c
··· 215 215 return write_cache_pages(mapping, wbc, udf_adinicb_writepage, NULL); 216 216 } 217 217 218 + static void udf_adinicb_readpage(struct page *page) 219 + { 220 + struct inode *inode = page->mapping->host; 221 + char *kaddr; 222 + struct udf_inode_info *iinfo = UDF_I(inode); 223 + loff_t isize = i_size_read(inode); 224 + 225 + kaddr = kmap_atomic(page); 226 + memcpy(kaddr, iinfo->i_data + iinfo->i_lenEAttr, isize); 227 + memset(kaddr + isize, 0, PAGE_SIZE - isize); 228 + flush_dcache_page(page); 229 + SetPageUptodate(page); 230 + kunmap_atomic(kaddr); 231 + } 232 + 218 233 static int udf_read_folio(struct file *file, struct folio *folio) 219 234 { 220 235 struct udf_inode_info *iinfo = UDF_I(file_inode(file));
-1
fs/udf/udfdecl.h
··· 137 137 138 138 /* file.c */ 139 139 extern long udf_ioctl(struct file *, unsigned int, unsigned long); 140 - void udf_adinicb_readpage(struct page *page); 141 140 142 141 /* inode.c */ 143 142 extern struct inode *__udf_iget(struct super_block *, struct kernel_lb_addr *,