Various copy-on-write implementations for a computing environment are
presented. One copy-on-write implementation includes employing a read
mapping table to perform a first virtual block to physical block mapping
for use in reading a block of data of a file to be copy-on-written from
physical storage for modification; and employing a different, write
mapping table to perform a second virtual block to physical block mapping
for use in writing a modified block of the file data to physical storage,
wherein copy-on-write of the block of data is achieved using a single
write operation. In another implementation, a distributed copy-on-write
of a file for a client server environment is presented. This distributed
copy-on-write includes performing, by a first client, copy-on-write of at
least one block of data of the file to be copy-on-written, and
performing, by a second client, copy-on-write of at least one other block
of data of the file, wherein multiple clients perform the copy-on-write
of the file.