accordance with the copy on write mechanism implemented by the file system cr c u2032 in fig5 e is overwritten with a modified copy of the root block cr x u2033 where the cr c u2033 references both b 1 and b 5 fig6 shows a flow chart for writing blocks of a dataset in accordance with one embodiment of the invention initially a dmu e g dmu 104 shown in fig1 receives a transaction from an application the operating system or a subsystem therein etc st 600 the dmu subsequently groups the transaction into one or more i o requests st 602 the i o requests are subsequently forwarded to the spa st 604 in one embodiment of the invention the transaction includes one or more data blocks and or one or more indirect blocks as discussed above with reference to fig3 a a dataset i e an hbt a snapshot or a clone may be stored on a disk using a hierarchical structure including data blocks and indirect blocks thus for a given set of transactions the first i o request includes the data blocks to be written to disk while subsequent i o requests include the corresponding indirect blocks containing one or more block pointers accordingly the i o request referenced at st 604 includes data blocks continuing with fig6 an spa e g spa 106 shown in fig1 2 upon receiving the i o request including data blocks from the dmu writes the data blocks into.