Re: [RFC PATCH v4 5/8] xfs: refactor the truncating order

From: Christoph Hellwig
Date: Fri May 31 2024 - 09:31:53 EST


> + write_back = newsize > ip->i_disk_size && oldsize != ip->i_disk_size;

Maybe need_writeback would be a better name for the variable? Also no
need to initialize it to false at declaration time if it is
unconditionally set here.

> + /*
> + * Updating i_size after writing back to make sure the zeroed
> + * blocks could been written out, and drop all the page cache
> + * range that beyond blocksize aligned new EOF block.
> + *
> + * We've already locked out new page faults, so now we can
> + * safely remove pages from the page cache knowing they won't
> + * get refaulted until we drop the XFS_MMAP_EXCL lock after the
> + * extent manipulations are complete.
> + */
> + i_size_write(inode, newsize);
> + truncate_pagecache(inode, roundup_64(newsize, blocksize));

Any reason this open codes truncate_setsize()?