Commit graph

29 commits

Author SHA1 Message Date
cinap_lenrek db581d2fe6 hjfs: disable shutdown when listening on network connections 2013-01-07 04:30:19 +01:00
cinap_lenrek 0c85432359 hjfs: network announce/listen support 2013-01-07 02:13:54 +01:00
cinap_lenrek f188f2f073 hjfs: eleminate seek syscalls
reduce syscalls by using pread/pwrite instead
of seek/read/write.
2012-11-18 12:53:31 +01:00
cinap_lenrek bcaf52ebcd hjfs: ORCLOSE parent check, estrdup / erealloc, CHFNOPERM consistency
check for write premission in the parent directory
for open with ORCLOSE. honor CHFNOPERM not just in
chancreat(), pikeshedd the error handling. added
estrdup()/erealloc() that call sysfatal instead
of returning nil.
2012-11-18 12:00:13 +01:00
cinap_lenrek 9a39427183 hjfs: fix dump / create
getdent() introduced a bug as the qid check fails in
the case when we walk to DUMPROOTQID, but get ROOTQID
in the directory instead.

newentry() getblk(..., GBCREATE) caused the whole
directory to get dumped until it hit a free slot.
we cannot do this because this changes the addresses
of Dentries of files but doesnt update the loctree.

this caused the bogus walks when we hit a different
directory than we expected.

what we do now is the following: newentry() was changed
to never dump anything. it will just read the directory
and return a the address of a free slot or create a
new block having space for one. chancreat() then makes
a loc in the loctree for the free slot, drops the dirent
buffer and calls willmodify() on the new slot. this will
dump the block containing the slot (and possible other
slots) and updates the loctree to the new version.

after that, chancreate() modifies the slot filling the
Dentry. there should be no race, as newentry() skips
slots that have a loc in the loctree.

theres one case where newentry() can dump the block
immidiately when it is called from dump. added new
parameter for that and documented in the comment.

createuserdir() was simplified by just calling chancreat().
to get arround the permission check, a new per channel
flag CHFNOPERM was added.
2012-11-18 00:06:54 +01:00
cinap_lenrek 08cd0ea8d4 hjfs: fix getfree() races, fix very rare buf leak in deltraverse() 2012-11-16 22:57:43 +01:00
cinap_lenrek 84ddc4cd4b hjfs: fix potential deadlock in putloc() 2012-11-16 19:55:58 +01:00
cinap_lenrek b9bf9f1d54 hjfs: dentry qid checking, prevent newentry() from allocating already in use slot
always check if the directory entry qid from the loc still
matches the one on disk before doing anything. helps
catching bugs and is basically equivalent to what cwfs does
with its checktag.

make a haveloc() check in newentry() to make sure we dont
allocate a file slot thats still in use, but deleted.
this seems to fix the NPROC>1 build problems.
2012-11-16 13:42:45 +01:00
cinap_lenrek df829e6c07 hjfs: fix more missing dirty marks, error handling, cleanup 2012-11-15 16:43:35 +01:00
cinap_lenrek 7ced300071 hjfs: fix missing BDELWRI mark in newentry() 2012-11-15 09:22:13 +01:00
cinap_lenrek ce59d96ee3 hjfs: fix group permissions for /adm and /adm/users for init 2012-11-01 16:34:33 +01:00
aiju 56df14a6a3 fixed ream code; added megabyte output to df 2012-10-03 18:27:22 +02:00
aiju 0ebd85f72c hjfs: debug-chdeind and sync commands added 2012-10-03 18:10:56 +02:00
aiju 87b66bade2 fixed debug-getblk 2012-10-03 18:01:23 +02:00
aiju 20f8378ea1 hjfs debug commands 2012-10-03 17:45:58 +02:00
aiju 2bcaa6be7e fixed potential bug in hjfs 2012-10-03 17:23:17 +02:00
aiju 7a91a85509 fixed hjfs df 2012-09-27 17:08:52 +02:00
aiju 9cec2db619 really renamed statw to df 2012-09-27 16:26:47 +02:00
aiju 38e993c731 renamed statw to df 2012-09-27 16:26:28 +02:00
aiju 196f605e83 trivial mistake 2012-09-27 15:10:03 +02:00
aiju 45f76d6191 hjfs: statw command 2012-09-27 15:06:42 +02:00
cinap_lenrek a1f69ed555 hjfs: fix tabs (damn google code editor) 2012-08-11 12:41:49 +02:00
aiju 3759a4a945 disallow walk on open chans 2012-08-11 10:40:48 +00:00
cinap_lenrek 6538711ef0 hjfs: fix permcheck bug 2012-08-11 12:02:05 +02:00
aiju 9e608833e9 hjfs: various fixes 2012-08-08 10:14:20 +02:00
aiju f2c70fe2f7 more hjfs fixes 2012-08-08 00:52:37 +02:00
aiju 34bf0ce496 hjfs: various changes 2012-08-08 23:14:42 +02:00
aiju 2e19497159 hjfs: default service name, fshalt 2012-08-07 18:43:13 +02:00
aiju b21b9ba89c added hjfs 2012-08-07 17:57:04 +02:00