summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cwfs/cw.c
AgeCommit message (Collapse)Author
2020-12-06cwfs: fix interpretation of startdump argumentAlex Musolino
2019-06-19cwfs: properly handle 64 bit qid pathcinap_lenrek
for historical reasons, kenfs stores directory entries in pre 9p2000 format with directories having the QPDIR bit 31 set in the qid path. however, the 64 bit fileserver allows 64 bit qid paths. given that we do not support pre 9p2000 clients and do not rely on the QPDIR, but want to keep the block check tags consistent, we will *INVERT* the QPDIR bit in directory entry qid paths for directories. this preserves the on-disk semantics (for < 31 bit qmax) but does not complicate qid generation and recovery. also makes it easy to convert between directory entry qid and 9p format.
2017-01-30cwfs: handle worm exhaustion more gracefullycinap_lenrek
don't deadlock when cwgrow() detects we'r out of worm space by releasing the cache superblock buffer. don't allocate space beyond the worm device when dumping by having slit() check. after cwrecur(), we check if there are enougth blocks remaining to write the dump date directories and superblocks.
2017-01-27cwfs: fix cwcmd startdumpcinap_lenrek
2014-05-03cwfs: fix 1GB memsize limitationcinap_lenrek
the malloc pool allocator is limited in its allocation size. as almost all data structures in cwfs are never freed, use brk() in ialloc() instead of mallocalign(). this means memory returned by ialloc() cannot be freed! to make sure we do not call free by accident, remove the #define malloc(n) ialloc(n, 0) macro and use ialloc() directly as in the original code to show the intend of permanent allocations.
2013-10-11cwfs: add checktag() call for cache bucket in dumpblock(), fix error stringscinap_lenrek
2013-10-11cwfs: more checking for cfsdump(), cleanup Tsuper hack in cwrecur()cinap_lenrek
add checktag and nil checks in cfsdump() making sure to notice when the roroot directory structures is corrupted. cwrecur() used tag == Tsuper to indicate that this is the first level recursive invocation. this is confusing as we really expect Tdir tag in that case for the root directory. instead, we now pass the correct tag (Tdir) and use cw->depth > 1 to see if we are past the root. the block tag was only checked when the block was not in the memory cache. check the tag always!
2013-02-25cwfs: fix mtime for dump yyyy directoriescinap_lenrek
2012-07-24cwfs: make sure we do a full dump after toggling noatimecinap_lenrek
2012-07-23cwfs: fix noatime dumpscinap_lenrek
2012-07-13cwfs: make /srv/cwfs.cmd redable to receive command outputcinap_lenrek
before, cwfs would print everything to /dev/cons. this change will redirect the output of commands to the /srv/cwfs.cmd pipe so one can use: con -C /srv/cwfs.cmd and not have the fish for the output in /dev/kmesg. use standard error (/dev/cons) for unsolicited messages as there is not always a reader on the command file.
2012-05-21cwfs: fix disappearing /tmp +t bugcinap_lenrek
2012-04-14cwfs: write superblocks to worm immidiately after ream to avoid scary ↵cinap_lenrek
touchsb error message
2011-06-11cwfs: store newcache format option in configcinap_lenrek
2011-06-06cwfs: restore backup block even if directory block didnt got a new addresscinap_lenrek
2011-05-12cwfs: +tcinap_lenrek
2011-04-28cwfs: reduce verbosity, added -d options if you want it anywaycinap_lenrek
2011-04-20cwfs: fix compiler warningcinap_lenrek
2011-04-19cwfs: removed annoying 'grow from' message0intro
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen