- 07 May, 2010 6 commits
-
-
Vincent Povirk authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
- 06 May, 2010 34 commits
-
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Aric Stewart authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Detlef Riekenberg authored
-
Vincent Povirk authored
-
Vincent Povirk authored
When creating a new transacted storage object (or reverting an existing one), rather than copy the original storage, we simply create a "stub directory entry" for the root. As stub entries are accessed, we fill in their data from the parent and create new stubs for any linked entries. The streams have copy on write semantics - reads are from the original entry until a change is made, then we make a copy in the scratch file. When committing transacted storages, we have to create a new tree with the new data so that the storage entry can be modified in one step, but unmodified sections of the tree can now be shared between the new tree and the old. An entry can be shared if it and all entries reachable from it are unmodified. In the trivial case where nothing has been modified, we don't have to make a new tree at all.
-
Huw Davies authored
-
Piotr Caban authored
-
Piotr Caban authored
-
Piotr Caban authored
-
Piotr Caban authored
-
Piotr Caban authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Matteo Bruni authored
-
Matteo Bruni authored
-
Matteo Bruni authored
-
Alexandre Julliard authored
-
Joel Holdsworth authored
-
Joel Holdsworth authored
-
Gerald Pfeifer authored
-
Nikolay Sivov authored
-
Nikolay Sivov authored
-
Damjan Jovanovic authored
-
Damjan Jovanovic authored
-
Rico Schüller authored
-
Rico Schüller authored
-
Rico Schüller authored
-
Rico Schüller authored
-
Sven Baars authored
-