Re: Block size and read-modify-write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 03, 2018 at 12:19:26PM +1100, Dave Chinner wrote:
> On Tue, Jan 02, 2018 at 11:25:39AM +0100, Carlos Maiolino wrote:
> > On Fri, Dec 29, 2017 at 12:14:14AM +0100, Gionatan Danti wrote:
> > > Hi list,
> > > I would ask a question: how XFS block size affect read-modify-write in case
> > > of very small writes?
> > > 
> > 
> > Hi,
> > 
> > > For example, suppose an XFS filesystem with the default 4K data block size.
> > > Am I correct saying that:
> > > - a 512B normal, cached writes will cause a read-modify-write of the entire
> > > 4K sector?
> 
> Cached writes smaller than a *page* will cause RMW cycles in the
> page cache, regardless of the block size of the filesystem.
> 
> > > - a 512B O_DIRECT write will *not* cause a read-modify-write of the 4K
> > > sector, rather it will be flushed to disk as-is (512 bytes in length)?
> 
> Ok, there is a difference between *sector size* and *filesystem
> block size*. You seem to be using them interchangably in your
> question, and that's not correct.
> 
> > IIRC, although the DIO requirement is to have writes aligned to the logical sector
> > size, issuing such IOs not properly aligned with the filesystem block size, have
> > a few consequences.
> > 
> > - It will require exclusive inode io locks, so serializing IOs to the inode
> 
> That is correct, but....
> 
> > - And yes, it will require a RMW to the block in question, all IO are always
> >   made in filesystem block size units.
> 
> .... this is not correct for direct IO. The direct IO path does not
> do RMW cycles at all.
> 
> Put simply: a 512B DIO write on a (real or emulated) 512B sector
> device with a 4k FSB will be serialised by the filesystem and do a
> single 512B sector write to the device.  However, if the device
> reports as a 4k sector device then a 512B DIO write will be rejected
> by the filesystem because sub-sector IO is not possible.

Oh, thanks for the correction :)

> 
> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@xxxxxxxxxxxxx
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Carlos
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux