[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vim file write mode on journaling fs.
Seth Mos wrote:
>
> The Nulls come from the fact that XFS supports extents. The metadata is
> written out to disk and xfs allocates the extents for this file. a truncate
> is done on the file to start writing the data.
> Because this never happend you are seeing the NULLS from the "empty" extents.
>
Note there is a performance trade off going on here; file size update are NOT logged
which is why the file has a size but no extents... if the size update was logged the meta
data update to the size field would only happen after extents had been allocated,
(part of the same transaction) and indeed this was how it was originally.
But creating a new transaction for each size update was a lot of overhead and thus a performance
hit. At some point along the way it size updates were de-coupled from the logging.