1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Zac Medico wrote: |
5 |
> I've implemented whiteouts so that items can now be deleted properly. The whiteouts themselves are stored inside the existing writable database (self.db_rw) in order to avoid the need for an additional storage area (similar to unionfs whiteouts which are implemented as hidden files). |
6 |
> |
7 |
> The whiteouts (if they exist) are validated on access and removed if necessary. A whiteout is considered invalid if it's _mtime_ and _eclasses_ are not exactly equal to underlying database entry that it erases (or the underlying database entry no longer exists). This should cause whiteouts to be automatically invalidated whenever the underlying cache changes. |
8 |
|
9 |
Here's a small patch to the previous module that compares the values given in a _setitem call to the underlying db_ro in order to ensure that the writable layer remains empty whenever possible. |
10 |
|
11 |
Zac |
12 |
-----BEGIN PGP SIGNATURE----- |
13 |
Version: GnuPG v1.4.2 (GNU/Linux) |
14 |
|
15 |
iD8DBQFD3J8y/ejvha5XGaMRAv8OAKC3o4mLjIJPXtb/wTG/9p/lW2YOUwCfcYc6 |
16 |
9uDb6WJdjg1it6h/H5FoSRs= |
17 |
=jLFW |
18 |
-----END PGP SIGNATURE----- |