Commit graph

62 commits

Author SHA1 Message Date
cinap_lenrek 88cc09a580 cwfs: limit memsize() to 1GB until pool can handle huge allocations 2014-02-07 23:33:34 +01:00
cinap_lenrek 03d26f8087 cwfs: use pragma pack for on disk structures for amd64 2014-02-01 20:26:36 +01:00
cinap_lenrek 1cd4579cdc cwfs: fix putbuf(nil) in error case of cmd_check() 2013-10-16 07:21:12 +02:00
cinap_lenrek 0460e4be7d cwfs: add checktag() call for cache bucket in dumpblock(), fix error strings 2013-10-11 10:17:17 +02:00
cinap_lenrek 5982c50fa4 cwfs: more checking for cfsdump(), cleanup Tsuper hack in cwrecur()
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-10-11 06:01:55 +02:00
cinap_lenrek a28bdd3e1f cwfs: fix out of order replies
using a shared reply queue and a pool of worker procs does
result in replies to be send out of order under some conditions.
the symptoms are mnt errors when interrupting requests (Rflush
arriving before the original requests response).

this change gives each connection its own reply queue and its
own srvo process. so now a connection consists of one reply
queue, a srvi process reading the connections file descriptor
and a srvo process reading the reply queue and writng replies
to the connections file descriptor.

the srvi processes live as long as the connection is established.
the srvo prcoesses live forever and are attached to the chan
(which gets reused).

to avoid excessive process creation, we limit the number of
connections to 30. srvchan() returns nil when all 30 network
channels are in use.
2013-08-08 01:07:01 +02:00
cinap_lenrek 3663ffeefa cwfs: use atomic compare and swap to avoid semacquire() syscalls in new queue implementation 2013-08-07 01:32:11 +02:00
cinap_lenrek cdc0b89d81 fix this megashit 2013-08-05 22:31:37 +02:00
cinap_lenrek 755108a144 cwfs: remove reflock
queues allow multiple readers, reflock seems unneccesary.
2013-08-05 22:07:50 +02:00
cinap_lenrek e3d9591283 cwfs: faster queue implementation using semacquire() 2013-08-04 06:47:56 +02:00
cinap_lenrek 24e8c78cb2 cwfs: add rtmp flag for check command to remove temporary files after recover 2013-07-18 15:04:37 +02:00
cinap_lenrek 70b9c8574f cwfs: fix mtime for dump yyyy directories 2013-02-25 06:11:43 +01:00
cinap_lenrek 3787f721c1 9p message size too small
various fileservers do not check if the message size is too small
(they subtract IOHDRSZ later from it to calculate iounit) which
can overflow.
2013-01-30 06:28:42 +01:00
cinap_lenrek 9507061986 cwfs: allow previously authorized channels to attach as none
we allow allow previously authorized channels to attach as none
even if anonymous logins are disabled with nonone.
2012-12-07 09:53:08 +01:00
cinap_lenrek 52b500af61 cwfs: make none attach work
allow attach as none. (this was supposed to work but it
doesnt for 9p2000 because we have to check for
afid being NOFID instead of checking the uname string).

and add "nonone" flag to disable this.
2012-12-07 06:30:26 +01:00
cinap_lenrek 235f71ba47 cwfs: fix read offset integer overflow 2012-08-01 01:10:24 +02:00
cinap_lenrek dc544a3462 cwfs: remove noatime runtime option 2012-07-24 20:09:28 +02:00
cinap_lenrek ffc58b3429 cwfs: make sure we do a full dump after toggling noatime 2012-07-24 19:42:18 +02:00
cinap_lenrek 42cf4e2371 cwfs: fix noatime dumps 2012-07-23 18:57:33 +02:00
cinap_lenrek 8099d78f44 cwfs: noatime flag 2012-07-14 23:49:17 +02:00
cinap_lenrek 8e11ff283f cwfs: make /srv/cwfs.cmd redable to receive command output
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-07-13 15:09:39 +02:00
cinap_lenrek 53f5bdfd06 cwfs: set whochan for who command, cleanup 2012-07-12 21:00:12 +02:00
cinap_lenrek b5565b0403 cwfs: fix disappearing /tmp +t bug 2012-05-21 18:25:39 +02:00
cinap_lenrek 3b2b18328b cwfs: add fsmempercent enviroment variable to control iobuffer allocation 2012-05-18 02:01:04 +02:00
cinap_lenrek 2e3eb536ae cwfs: write superblocks to worm immidiately after ream to avoid scary touchsb error message 2012-04-14 13:18:25 +02:00
cinap_lenrek f2b6ec3140 correcting unicode superscripts for 1 2 and 3 2012-02-23 16:58:53 +01:00
cinap_lenrek dab4f2afc7 cwfs: simplify checkname, allow space character 2011-12-12 12:16:35 +01:00
cinap_lenrek 0a229586f2 cwfs: cfs needs to run after con_session(), so revert previous change and just run consserve() before starting the srv procs 2011-09-07 08:10:35 +02:00
cinap_lenrek 89a36a09f2 cwfs: fix race between cmd_exec("users") and serve processes, cleanup portfns.h 2011-09-07 04:27:00 +02:00
cinap_lenrek 42f37419b6 cwfs: fix use after free bug (ai->cuid), remove waitedfor abort() 2011-09-07 02:46:38 +02:00
aiju 4636a1e21a cwfs: fixed memsize() 2011-07-22 11:53:47 +02:00
cinap_lenrek 474bc6a14a cwfs: fix auth filedescriptor leak 2011-07-21 15:59:00 +02:00
cinap_lenrek 7cd1b102ee remove mconf cruft 2011-06-16 17:33:26 +02:00
cinap_lenrek 67bb0a2c7a cwfs: store newcache format option in config 2011-06-11 14:19:07 +00:00
cinap_lenrek 54e72f3e9c cwfs: dont use hardcoded firstsb for cwfs 2011-06-11 12:29:20 +00:00
cinap_lenrek c39aecc111 cwfs: restore backup block even if directory block didnt got a new address 2011-06-06 07:16:00 +00:00
cinap_lenrek b36a5dfc91 cwfs: +t 2011-05-12 12:07:03 +00:00
aiju 9e6a36ccfc added 'chatty' command to cwfs 2011-05-07 23:33:27 +00:00
cinap_lenrek 09a848d825 cwfs: cleanup 2011-05-01 07:41:21 +00:00
cinap_lenrek db7290d79e cwfs: fix network listener, relay auth errors. boot(8): split bootargs only on first ! char, prepare /net so cwfs can announce 9fs 2011-05-01 07:07:32 +00:00
cinap_lenrek f7b678fd6b cwfs: allow reseting noauth and readonly config options 2011-05-01 00:48:29 +00:00
cinap_lenrek 06db9d4d68 cwfs: back to previous version 2011-04-29 14:45:17 +00:00
cinap_lenrek 9e0948ab2f cwfs: fix config mode 2011-04-29 14:22:04 +00:00
cinap_lenrek 840b3bf28a make /n/other work 2011-04-29 12:50:51 +00:00
cinap_lenrek eb7a73034c cwfs: remove startup delay 2011-04-29 09:43:03 +00:00
cinap_lenrek d1a1034cbe cwfs: reduce verbosity, added -d options if you want it anyway 2011-04-28 19:40:57 +00:00
cinap_lenrek 75316225b7 cwfs: fix compiler warning 2011-04-20 19:35:47 +00:00
0intro 3c03019e4f cwfs: removed annoying 'grow from' message 2011-04-19 20:19:08 +02:00
cinap_lenrek 078bda4341 cwfs: make default target cwfs64x 2011-04-18 10:16:12 +00:00
cinap_lenrek 7d88fe0269 cwfs: fix permissions for command channel 2011-04-18 10:03:10 +00:00