• Yuezhang Mo's avatar
    exfat: move extend valid_size into ->page_mkwrite() · 6630ea49
    Yuezhang Mo authored
    It is not a good way to extend valid_size to the end of the
    mmap area by writing zeros in mmap. Because after calling mmap,
    no data may be written, or only a small amount of data may be
    written to the head of the mmap area.
    
    This commit moves extending valid_size to exfat_page_mkwrite().
    In exfat_page_mkwrite() only extend valid_size to the starting
    position of new data writing, which reduces unnecessary writing
    of zeros.
    
    If the block is not mapped and is marked as new after being
    mapped for writing, block_write_begin() will zero the page
    cache corresponding to the block, so there is no need to call
    zero_user_segment() in exfat_file_zeroed_range(). And after moving
    extending valid_size to exfat_page_mkwrite(), the data written by
    mmap will be copied to the page cache but the page cache may be
    not mapped to the disk. Calling zero_user_segment() will cause
    the data written by mmap to be cleared. So this commit removes
    calling zero_user_segment() from exfat_file_zeroed_range() and
    renames exfat_file_zeroed_range() to exfat_extend_valid_size().
    Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
    Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
    6630ea49
file.c 16.2 KB