Thread (72 messages) 72 messages, 2 authors, 2021-11-24

Re: [PATCH 18/29] fsdax: decouple zeroing from the iomap buffered I/O code

From: Christoph Hellwig <hch@lst.de>
Date: 2021-11-24 06:50:56
Also in: dm-devel, linux-ext4, linux-fsdevel, linux-s390, linux-xfs, nvdimm

On Tue, Nov 23, 2021 at 01:46:35PM -0800, Dan Williams wrote:
quoted
+               const struct iomap_ops *ops)
+{
+       unsigned int blocksize = i_blocksize(inode);
+       unsigned int off = pos & (blocksize - 1);
+
+       /* Block boundary? Nothing to do */
+       if (!off)
+               return 0;
It took me a moment to figure out why this was correct. I see it was
also copied from iomap_truncate_page(). It makes sense for DAX where
blocksize >= PAGE_SIZE so it's always the case that the amount of
capacity to zero relative to a page is from @pos to the end of the
block. Is there something else that protects the blocksize < PAGE_SIZE
case outside of DAX?

Nothing to change for this patch, just a question I had while reviewing.
This is a helper for truncate ->setattr, where everything outside the
block is deallocated.  So zeroing is only needed inside the block.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help