On Jun 28, 2018, at 4:45 PM, Theodore Y. Ts'o <tytso@xxxxxxx> wrote: > > On Thu, Jun 28, 2018 at 04:20:48PM -0600, Andreas Dilger wrote: >> That's true for stock ext4, but as I mentioned in my other email, Lustre >> will allocate up to the PAGE_SIZE boundary because the RDMA will overwrite >> the whole page regardless of where i_size is, which results in blocks >> being allocated beyond i_size for PAGE_SIZE > blocksize. > > But does an RDMA operation actually do a block allocation? Really? > And if it is willing to do a block allocation, why is it not willing > to bump i_size? It's not that the RDMA does block allocation, but rather that the RDMA always transfers and writes the full PAGE_SIZE of data, even if i_size is less than the end of the last block. This simplifies the RDMA code so that it can always write the data instead of having to stop at i_size. Cheers, Andreas
Attachment:
signature.asc
Description: Message signed with OpenPGP