On 6/14/23 17:06, Hannes Reinecke wrote:
[ .. ]
Whee! That works!
Rebased things with your memcpy_{to,from}_folio() patches, disabled that
chunk, and:
# mount /dev/ram0 /mnt
XFS (ram0): Mounting V5 Filesystem 5cd71ab5-2d11-4c18-97dd-71708f40e551
XFS (ram0): Ending clean mount
xfs filesystem being mounted at /mnt supports timestamps until
2038-01-19 (0x7fffffff)
# umount /mnt
XFS (ram0): Unmounting Filesystem 5cd71ab5-2d11-4c18-97dd-71708f40e551
Great work, Matthew!
(Now I just need to check why copying data from NFS crashes ...)
Hmm. And for that I'm hitting include/linux/pagemap.h:1250 pretty
consistently; something's going haywire with readahead.
Matthew, are you sure that this one:
/**
* readahead_length - The number of bytes in this readahead request.
* @rac: The readahead request.
*/
static inline size_t readahead_length(struct readahead_control *rac)
{
return rac->_nr_pages * PAGE_SIZE;
}
is tenable for large folios?
Especially as we have in mm/readahead.c:499
ractl->_nr_pages += 1UL << order;
Hmm?
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman