A data storage system receives sets of the revisions such that each set of
revisions changes the dataset from one consistent state to another. Each
set of revisions is processed in a write-selected phase followed by a
read-selected phase. In the write-selected phase, the revisions in each
set are written to a buffer and processed to produce a directory of the
set of revisions. In the read-selected phase, the revisions are read from
the buffer and integrated into the dataset. When one set of revisions is
in the read-selected phase, the next set of revisions is in the
write-selected phase. To permit uninterrupted read-only access to a
consistent state of the dataset, the data storage system responds to a
request for reading specified data on a priority basis by first accessing
the directory of the read-selected revisions to determine whether the
specified data are in the read-selected set of revisions, and if so, the
specified data are read from the read-selected set of revisions, and if
not, the specified data are read from the dataset. In a preferred
implementation, the sets of revisions are alternately written to either a
first buffer or a second buffer, and processing of each set of revisions
is switched from the write-selected phase to the read-selected phase by
switching between the two buffers.