summaryrefslogtreecommitdiff
path: root/sys/tmpfs
AgeCommit message (Collapse)Author
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2014-07-08decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.hTheo de Raadt
don't need to be married. ok guenther miod beck jsing kettenis
2014-03-28Reduce uvm include madness. Use <uvm/uvm_extern.h> instead ofMartin Pieuchot
<uvm/uvm.h> if possible and remove double inclusions. ok beck@, mlarkin@, deraadt@
2014-02-28guenther's addition of filechk didn't take into account the differentMarc Espie
structure of tmpfs_write. rewrite the opening tests to conform more to ffs's code, so that overrun is not used unitialized. Patch by kettenis@ (on the road) deraadt@ "do it right away"
2014-02-25Check for offset wraparound and enforce RLIMIT_FSIZE.Philip Guenther
problem reported by brad@ ok kettenis@ millert@
2014-01-22bring over kqfilter code from ufs which works better than theTed Unangst
generic flavor. problems noted and tested by ajacoutot
2014-01-07Delay checking the vnode locking of the target vnodes in tmpfs_rename()Philip Guenther
until we've confirmed they're on the same filesystem as the source: not all filesystems do locking the same. problem report and testing chrisz@ ok espie@
2013-12-25zap defines that don't make any sense for usMarc Espie
okay tedu@
2013-12-23sync specvops with ffs (fixing spec_open along the way)Ted Unangst
ok espie
2013-12-23Move KASSERT a bit further down because it can apparently be triggered byMark Kettenis
trying to hardlink a directory. While this is not allowed on tmpfs, this allows us to reach the code that checks for this such that we can return the appropriate error. Cluestick from Pedro Martelletto. ok espie@
2013-12-14bring in a few improvements from pedro, guenther, me...Marc Espie
thanks to krw@ for the original cherry-picking, millert@ for useful comment. so: - no longer expose internal kernel addresses, uses seq numbers instead - make sure the numbers don't overflow (millert@ UINT64_MAX)... a conservative estimate is that tmpfs will run out of seqs in >600 years... - don't malloc dents, put them on the stack and zero them - gc whiteout code - gc getpage/putpage code (shrink uvm instead) okay krw@, millert@
2013-10-10A few fixes from Pedro Martelletto, adapted fromMarc Espie
https://github.com/bitrig/bitrig/commits/pedro_tmpfs_fixes 7efd381ac3: # mkdir -p x/y # mv x/y/. z (or mv x/y/.. z) (panic) 264ecd2c7b: # mknod x b 100 100 (can be any block/character device) # ls -lR / (panic) 7da08d22fd: # mkfifo x (or mknod x) # mv x y (panic) af0666c65a: # mount -t tmpfs -o -n16 tmpfs /mnt (create tmpfs with 16 inodes limit) # cd /mnt # touch x # for i in `jot 100 1 100`; do ln -s x $i; done (create 100 symlinks, = they "succeed" even though they failed) # ls -lart 7e9296a6f8: # mkdir x # touch x/y # chflags uappnd x (or sappnd) # rm x/y 936b9cf257: # mkdir -p x/y # rmdir x/y/.. (panic) de541406ef: # touch x # ln x y # stat -f %c x # sleep 10 # rm y # stat -f %c x okay guenther@, krw@
2013-09-22The readdir vop should set uio_offset to the cookie of the entryPhilip Guenther
after the last entry that fit, but I had it setting it to the cookier of the entry after that, so it would skip one entry for each block required. Remove the no-longer-needed cnt/cntp variable while we're touching things. prodding and testing by espie@
2013-09-01Update to match VOP_READDIR() changes: no more cookies, but d_off instead.Philip Guenther
Prodding and initial diff from espie@
2013-06-05plug name_ipool leak in tmpfs_link()Marc Espie
from pedro.
2013-06-05on drugs, did not read pedro's patch and just zapped the comment.Marc Espie
Obviously will not do... fixed
2013-06-04restore code commented out while debugging. From pedroMarc Espie
2013-06-04fix include guard locations (from pedro)Marc Espie
2013-06-04Update pathconf handling for -current..Brad Smith
- Remove _PC_PATH_MAX, _PC_PIPE_BUF and _PC_SYNC_IO. - Add _PC_TIMESTAMP_RESOLUTION. - Change _PC_FILESIZEBITS from using "sizeof(off_t) * CHAR_BIT" to returning 64. With input from and Ok guenther@
2013-06-03sprinkle $OpenBSD$, pointed out by pedroMarc Espie
2013-06-01import tmpfs code, originally from netbsd.Marc Espie
heavy lifting by Pedro Martelletto, timestamp fixes by me. THIS IS NOT ENABLED YET, AND REQUIRES UVM CHANGES AND REVIEW. Imported, so that working on it can be mostly done in tree with less painful diff exchanges, and that we have history of further changes. okay tedu@, deraadt@