Does UFS do full-block writes? Always or only in specific circumstances? For example, if a UFS file system is created with the 16/2 block/fragment size, and a small random write (e.g. 512 bytes) comes in the middle of a larger file, will UFS read in the whole 16k block, modify it and write it out? What about fragments?