On Wed, Feb 19, 2020 at 01:00:44PM -0800, Matthew Wilcox wrote: > @@ -160,9 +164,13 @@ void __do_page_cache_readahead(struct address_space *mapping, > unsigned long end_index; /* The last page we want to read */ > LIST_HEAD(page_pool); > int page_idx; > - unsigned int nr_pages = 0; > loff_t isize = i_size_read(inode); > gfp_t gfp_mask = readahead_gfp_mask(mapping); > + struct readahead_control rac = { > + .mapping = mapping, > + .file = filp, > + ._nr_pages = 0, There is no real need to initialize fields to zero if we initialize the structure at all. And while I'd normally not care that much, having as few references as possible to the _-prefixed internal variables helps making clear how internal they are. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>