In a write-anywhere filesystem, a write-in-place property allows the
write-anywhere filesystem to selectively perform write-in-place
processing for write allocation to selected data blocks. The filesystem
stores a data block in a storage, and references the data block with both
physical and virtual or logical block number references. The block number
references allow the filesystem to manage storage of the data blocks
through indirection. The data block may be modified, which generates an
updated data block in memory having the new data. The filesystem performs
write allocation to store the updated data block to the storage.
Write-in-place within the write-anywhere filesystem allows the
write-anywhere filesystem to write the data block to the same physical
location and thus maintain the same physical block number reference while
modifying the virtual block number reference.