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.
|