summaryrefslogtreecommitdiffstats
path: root/sys/tmpfs/tmpfs_vfsops.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Convert struct vfsops initializer to C99 style.bluhm2019-12-261-15/+15
| | | | OK visa@
* Now that the args are passed in by the caller there is no need to callpatrick2018-04-061-4/+1
| | | | | | copyin(9) ourselves anymore. Fixes tmpfs after recent changes. ok bluhm@ deraadt@ visa@
* add "int stall" argument required by filesystem stall code; from Tomohiro Kusumideraadt2018-03-071-3/+4
|
* In uvm Chuck decided backing store would not be allocated proactivelyderaadt2017-12-111-12/+12
| | | | | | | | | | | | | | | | | | | | | | for blocks re-fetchable from the filesystem. However at reboot time, filesystems are unmounted, and since processes lack backing store they are killed. Since the scheduler is still running, in some cases init is killed... which drops us to ddb [noted by bluhm]. Solution is to convert filesystems to read-only [proposed by kettenis]. The tale follows: sys_reboot() should pass proc * to MD boot() to vfs_shutdown() which completes current IO with vfs_busy VB_WRITE|VB_WAIT, then calls VFS_MOUNT() with MNT_UPDATE | MNT_RDONLY, soon teaching us that *fs_mount() calls a copyin() late... so store the sizes in vfsconflist[] and move the copyin() to sys_mount()... and notice nfs_mount copyin() is size-variant, so kill legacy struct nfs_args3. Next we learn ffs_mount()'s MNT_UPDATE code is sharp and rusty especially wrt softdep, so fix some bugs adn add ~MNT_SOFTDEP to the downgrade. Some vnodes need a little more help, so tie them to &dead_vnops. ffs_mount calling DIOCCACHESYNC is causing a bit of grief still but this issue is seperate and will be dealt with in time. couple hundred reboots by bluhm and myself, advice from guenther and others at the hut
* If you use sys/param.h, you don't need sys/types.hderaadt2017-09-081-2/+1
|
* all pools have their ipl set via pool_setipl, so fold it into pool_init.dlg2016-09-151-7/+5
| | | | | | | | | | | | | | | | | | | | | | the ioff argument to pool_init() is unused and has been for many years, so this replaces it with an ipl argument. because the ipl will be set on init we no longer need pool_setipl. most of these changes have been done with coccinelle using the spatch below. cocci sucks at formatting code though, so i fixed that by hand. the manpage and subr_pool.c bits i did myself. ok tedu@ jmatthew@ @ipl@ expression pp; expression ipl; expression s, a, o, f, m, p; @@ -pool_init(pp, s, a, o, f, m, p); -pool_setipl(pp, ipl); +pool_init(pp, s, a, ipl, f, m, p);
* pool_setipl for tmpfs.dlg2016-08-231-1/+3
|
* Set the vfs_systcl member of the vsfops struct to eopnotsupp. While we checkkettenis2016-07-221-2/+2
| | | | | | for a null pointer now, all other filesystems fill in the complete table. ok deraadt@, tom@
* don't allow mounting with noval owner. panics later.tedu2016-07-111-1/+4
| | | | | reported by Tim Newsham at NCC. ok millert natano
* kill malloc(9) pointless check, malloc(9) call is using M_WAITOK flag and thus will sleep untilgsoares2016-01-131-3/+1
| | | | | | get memory available so shouln't fail. OK deraadt@ mmcc@
* remove #if 0 cdefs.h blocksderaadt2015-01-211-6/+1
|
* change pool allocator to null and pass waitok to indicate nointrtedu2014-12-231-5/+5
|
* tmpfs free sizestedu2014-11-021-2/+2
|
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-121-2/+2
| | | | after discussions with beck deraadt kettenis.
* bring in a few improvements from pedro, guenther, me...espie2013-12-141-24/+38
| | | | | | | | | | | | | | 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@
* sprinkle $OpenBSD$, pointed out by pedroespie2013-06-031-0/+1
|
* import tmpfs code, originally from netbsd.espie2013-06-011-0/+367
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@