decompress should open it's own fd and ignore filedata's.
- This means on compressor_data close we can close the fd aswell? (bad idea)
- truncate could be simpler this way
compress/compress_* can be made a bit simpler, it does goto out a lot, we can check if (fd > 0) close fd here, instead of putting it in every error handler.
Storing -> size in the database:
store ->size in database and use it for getattr
- list_move if entry is > 20 into the database, getattr calls are many in a row.
clean on open() calls.
- since it scans through the database anyway it can check ->accesses.
- also modify open to not need lock on filename during scan, and only change filename with database lock.
need to update size on:
truncate
decompress
open (pass size to quick_open)
rename (invalidate it)
unlink (invalidate it)
only run protect/unprotect when accesses > 0, this saves us some scans aswell.
merge protect/unprotect system with direct_compress, will save a LOT of scans, and it'll also work much better with rename/unlink scans.
CLEAN UP COMMENTS AT THE TOP OF DIRECT_COMPRESS