summaryrefslogtreecommitdiff
path: root/sys/src/cmd/hjfs
AgeCommit message (Collapse)Author
2022-11-01hjfs: check and fix print format errorscinap_lenrek
2022-08-01hjfs: do not truncate lines on /adm/users writeSigrid Solveig Haflínudóttir
2022-03-08hjfs: fix group ownership of home dirs created by newuser commandAlex Musolino
2020-07-12hjfs: update mtime and qid.vers for directory on renamecinap_lenrek
when wstating a file, its directory should be updated to reflect this change. here is what the manpage states: > The mtime field reflects the time of the last change of content > (except when later changed by wstat). For a directory it is the > time of the most recent remove, create, or wstat of a file in the > directory.
2020-03-07dossrv, 9660srv, hjfs: stop *READING* standard *OUTPUT* with -s flagcinap_lenrek
with the -s flag, we should read 9P messages from standard *INPUT* (fd 0) and write responses to standard *OUTPUT* (fd 1). before these servers where reading from fd 1, assuming they where both the same files.
2018-08-20hjfs: set group of new files to that of the parent directory (thanks umbraticus)mischief
2018-08-20fix unbounded recursion bug in hjfsaiju
2017-04-01hjfs: avoid 8c "non-interruptable temporary" warningcinap_lenrek
2017-03-29hjfs: disable hjfs check until more functionality is completespew
2017-03-28hjfs: improve error messaging around blocks that are not foundspew
2017-03-28hjfs: Fix bugs in ref count scan check. Enable as a console command (caveat: ↵spew
command arguments will change as I implement more functionality)
2017-03-27hjfs: fix broken dprintspew
2017-03-27hjfs: simplify dprintingspew
2017-03-27hjfs: add simple scan check of directory entry blocksspew
2017-03-27hjfs: check: check a block if its ref count is _not_ zero. Also check all ↵spew
the ref counts of blocks of a directory and clean up messages
2017-03-27hjfs: start implementation of checking a directoryspew
2017-03-25hjfs: Add comment to change the OFF size to 8 when given the chancespew
2017-03-21hjfs: Clear all refs to zero when reaming.spew
And a couple clarity/formatting changes
2015-08-13hjfs: fix deadlockscinap_lenrek
buffers which still have requests queued on them are not free! we cannot chanedev() a buffer while it has still requests queued on it and we canot just queue our request (having different address) on the buffer while there are other requests before it, otherwise we would create artificial block dependency that can cause deadlock.
2015-08-11hjfs: fix abort() in givebuf()cinap_lenrek
it is possible for another getbuf() on buffer b to come in before undelayreq() calls givebuf() on a buffer again. then givebuf() would find b already busy and abort(). instead, we now handle what getbuf() did in givebuf() and consider the Buf* argument to givebuf() as a hint only for the case when we have to actually flush/read a block from disk.
2015-06-15hjfs: defer parent directory permission check for wstatcinap_lenrek
check parent directory permission *after* we determined that the new name does not exist in the parent, so that when the new name is the same as old name then no write permission is required in the parent directory.
2015-06-15hjfs: fix wstatcinap_lenrek
- rename to same name is ok - only truncate when file size is different - check for uid/gid *change*, not if it is specified or not
2015-04-23hjfs: fix erealloc(..., 0) crash when removing member from group array makes ↵cinap_lenrek
it empty (thanks 9dan)
2015-01-01hjfs: fix missing superblock dirty mark when reamingcinap_lenrek
2014-12-31hjfs: make -m default 4 MB instead of 40 KBaiju
2014-02-04hjfs: fix wrong channel size for syncb (fixes amd64 crash)cinap_lenrek
2013-10-02lib9p/hjfs: use x != ~0 instead (type)~x conditionals to work arround arm ↵cinap_lenrek
compiler issue
2013-07-05hjfs: add users command, fix newuser ? documentationcinap_lenrek
2013-06-01hjfs: ignore atime on wstatppatience0
2013-05-30hjfs: deal with ORCLOSE in chancreat()cinap_lenrek
ORCLOSE was effectively ignored for Tcreate. just setting CHRCLOSE flag on chan should fix it.
2013-03-14hjfs: fix the megashitcinap_lenrek
aiju → what is this huge if(d != nil) {} megashit if getdent() fails in newentry() then return immidiately and dont override the error string.
2013-01-30hjfs: fix bogus nodata getbuf() of superblock in createroot() (failed ream ↵cinap_lenrek
race bug) we used to do getbuf() with nodata flag so it only worked when we where lucky and got the same in memory block back. this is uncritical once you have reamed the filesystem, its just that sometimes ream would fail with "ream successfull, then hjfs: fsinit: file ./hjfs not found".
2013-01-13hjfs: dont mask permission bits for "create" console commandcinap_lenrek
2013-01-07hjfs: disable shutdown when listening on network connectionscinap_lenrek
2013-01-07hjfs: network announce/listen supportcinap_lenrek
2012-11-18hjfs: eleminate seek syscallscinap_lenrek
reduce syscalls by using pread/pwrite instead of seek/read/write.
2012-11-18hjfs: ORCLOSE parent check, estrdup / erealloc, CHFNOPERM consistencycinap_lenrek
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-18hjfs: fix dump / createcinap_lenrek
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-16hjfs: fix getfree() races, fix very rare buf leak in deltraverse()cinap_lenrek
2012-11-16hjfs: fix potential deadlock in putloc()cinap_lenrek
2012-11-16hjfs: dentry qid checking, prevent newentry() from allocating already in use ↵cinap_lenrek
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-15hjfs: fix more missing dirty marks, error handling, cleanupcinap_lenrek
2012-11-15hjfs: fix missing BDELWRI mark in newentry()cinap_lenrek
2012-11-01hjfs: fix group permissions for /adm and /adm/users for initcinap_lenrek
2012-10-03fixed ream code; added megabyte output to dfaiju
2012-10-03hjfs: debug-chdeind and sync commands addedaiju
2012-10-03fixed debug-getblkaiju
2012-10-03hjfs debug commandsaiju
2012-10-03fixed potential bug in hjfsaiju
2012-09-27fixed hjfs dfaiju