Having a 3 possible states for each file would seem sensible:
1. Compression Enabled - this file or folder will be compressed.
2. Compression Disabled - this file or folder will never be compressed.
3. Not Specified - This will inherit the compression state from it's parent.
To keep this system in a consistent state, if a folder is changed from say state 2 to state 1, then all the children of that folder who are in state 3 need to be compressed - potentially a very time consuming operation.
If this operation is cancelled, or fails, then the compression states in the filesystem will be inconsistent. No idea how it's best to solve that - either just cope with the inconsistency and let a filesystem check tidy it up (remember this issue would never endanger data, and only occurs in the case of a system failure while changing the compression flags on a directory). An alternative solution could be to make the attribute change aschrynchronous and have an "operation queue", so in the case of a system failure the operation can continue where it left off.
��.n��������+%������w��{.n�����{����n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�m