History log of /netbsd-src/sys/fs/tmpfs/tmpfs.h (Results 1 – 25 of 56)
Revision Date Author Comments
# 5c373ea8 17-May-2020 ad <ad@NetBSD.org>

PR kern/55268: tmpfs is slow

tmpfs_getpages(): handle the PGO_LOCKED case and implement lazy update of
atime/mtime.


# 87fd18f8 19-Apr-2018 christos <christos@NetBSD.org>

s/static inline/static __inline/g for consistency.


# 90ead62d 01-Mar-2017 hannken <hannken@NetBSD.org>

Change the protocol to update a mounted file system from read-write
to read-only and vice versa:

- Add an internal flag IMNT_WANTRDONLY.
- Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from o

Change the protocol to update a mounted file system from read-write
to read-only and vice versa:

- Add an internal flag IMNT_WANTRDONLY.
- Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from or to read-only.
- After successfull call to VFS_MOUNT() set or clear MNT_RDONLY.

Adapt tmpfs and rumpfs to the new protocol. Other file systems will be
updated when they get the IMNT_CAN_RWTORO property.

Welcome to 7.99.64

show more ...


# ac23b49f 27-Jan-2017 hannken <hannken@NetBSD.org>

Run vflush() when going from read/write to read only.


# 8c80da52 06-Jul-2015 hannken <hannken@NetBSD.org>

Change tmpfs to vcache.
- Use tmpfs node address as key.
- Remove tn_vlock, field tn_vnode now protected by vcache.
- Add a hold count to tmpfs node to prevent nodes from disappearing
while tmpfs_f

Change tmpfs to vcache.
- Use tmpfs node address as key.
- Remove tn_vlock, field tn_vnode now protected by vcache.
- Add a hold count to tmpfs node to prevent nodes from disappearing
while tmpfs_fhtovp() trys to vcache_get() them. Last holder
destroys reclaimed nodes.
- Remove the now unneeded parent unlock/lock for lookup of '..'.

show more ...


# 12475e02 06-Jul-2015 hannken <hannken@NetBSD.org>

Use VFS_PROTOS() for tmpfs.


# c7dd06b6 07-Jun-2014 martin <martin@NetBSD.org>

Remove the hardcoded 4 MB free kernel memory limit and replace it
by uvmexp.freetarg, as discussed on tech-kern.
Main purpose is to make tmpfs usable (as far as possible) on small memory
machines.
Th

Remove the hardcoded 4 MB free kernel memory limit and replace it
by uvmexp.freetarg, as discussed on tech-kern.
Main purpose is to make tmpfs usable (as far as possible) on small memory
machines.
This is a bit experimental, but we need to give it some real world exposure
to see how well it works.

show more ...


# 0172bc97 30-Apr-2014 christos <christos@NetBSD.org>

handle MNT_UPDATE


# e63cf28e 23-Nov-2013 rmind <rmind@NetBSD.org>

- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred
timestamp updates. Fix some incorrect updates and plug some missing ones.
Should fix PR/48385.
- tmpfs_rmdir: avoid O(n)

- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred
timestamp updates. Fix some incorrect updates and plug some missing ones.
Should fix PR/48385.
- tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout
entries were never added.

show more ...


# 8da90206 18-Nov-2013 rmind <rmind@NetBSD.org>

Make tmpfs_node_t::tn_gen a 32-bit number, keep it in sync with tmpfs_fid_t.
Also, change tn_status to unsigned while here.


# 1f5dbc94 08-Nov-2013 rmind <rmind@NetBSD.org>

tmpfs: replace the broken tmpfs_dircookie() logic which uses the node
address truncated to 31 bits (required for 32-bit readdir compatibility,
e.g. linux32). Instead, assign 2^31 range using the fol

tmpfs: replace the broken tmpfs_dircookie() logic which uses the node
address truncated to 31 bits (required for 32-bit readdir compatibility,
e.g. linux32). Instead, assign 2^31 range using the following logic:
- The first half of the 2^31 is assigned incrementally (the fast path).
- When exceeded, use the second half of 2^31, but manage with vmem(9).

It will require 2 billion files per-directory to trigger vmem(9) usage.
Also, while here, add some fixes for tmpfs_unmount().

Should fix PR/47739, PR/47480, PR/46088 and PR/41068.
Thanks to wiz@ for stress testing.

show more ...


# a00d98eb 27-Sep-2011 christos <christos@NetBSD.org>

define and use TMPFS_MAXNAMLEN instead of MAXNAMLEN


# 4781942c 29-May-2011 rmind <rmind@NetBSD.org>

- Rework and document inode reference counting. Also document inode life
cycle (destruction part). Perform link counting in tmpfs_dir_attach()
and tmpfs_dir_detach(), instead of alloc/free and

- Rework and document inode reference counting. Also document inode life
cycle (destruction part). Perform link counting in tmpfs_dir_attach()
and tmpfs_dir_detach(), instead of alloc/free and arbitrary places.
Fixes PR/44285, PR/44288, PR/44657 and likely PR/42484.

- Fix the race between the lookup and inode destruction. Fixes PR/43167
and its duplicates PR/40088, PR/40757.

- Improve tmpfs_rename() locking a little, fix kqueue event notifications
and also fix PR/43617. Add simplistic tmpfs_parentcheck_p(); to be
expanded and used for further rename() locking fixes.

- Cache directory entry "hint" in the tmpfs node, add tmpfs_dir_cached(),
and thus avoid unnecessary lookup in tmpfs_remove() and tmpfs_rmdir().

- Set correct _PC_FILESIZEBITS value in tmpfs_pathconf(). Fixes PR/43576.

- Few minor fixes.

show more ...


# 662aaad8 29-May-2011 christos <christos@NetBSD.org>

undo the multiple inclusion protection part.


# 8a0123cd 29-May-2011 rmind <rmind@NetBSD.org>

- Prevent tmpfs.h from inclusion in userland.
- Clean up and KNF tmpfs.h a little bit.


# 9d8a0628 24-May-2011 rmind <rmind@NetBSD.org>

- Describe some locking.
- Add VOP argument comments, add some asserts.
- Update/fix/remove outdated/missleading comments.
- Clean up, de-indent, KNF, misc.

No functional changes intended.


# 7d4d81a3 19-May-2011 rmind <rmind@NetBSD.org>

- tmpfs: do not create dirent/node pools per-mount, there is no need to.
- tmpfs_mount: fix a leak of mount structures in error path.


# 07b10a7b 13-Jan-2011 pooka <pooka@NetBSD.org>

Add some support for unionfs (not built by default). It's still
missing at least opaque directory support, but until someone figures
out how that should work on ffs (see PR kern/kern/44383), there's

Add some support for unionfs (not built by default). It's still
missing at least opaque directory support, but until someone figures
out how that should work on ffs (see PR kern/kern/44383), there's
no point in trying to figure out how it should work here.

show more ...


# fc8b3b71 22-Jun-2010 rmind <rmind@NetBSD.org>

Replace tmpfs_pool custom allocator code with a simpler layer for memory
accounting. Use wired memory (which can be limited) for meta-data, and
kmem(9) for string allocations.

Close PR/31944. Fix

Replace tmpfs_pool custom allocator code with a simpler layer for memory
accounting. Use wired memory (which can be limited) for meta-data, and
kmem(9) for string allocations.

Close PR/31944. Fix PR/38361 while here. OK ad@.

show more ...


# f00b7c9b 29-Jul-2008 pooka <pooka@NetBSD.org>

Solve the fstat-wants-to-look-at-kernel-data-structures in a nicer
way: don't export the fs internals to innocent userspace programs
which just want to mount the file system.


# 966308f7 28-Jul-2008 pooka <pooka@NetBSD.org>

shuffle around some more defs for fstat

noticed by Kurt Schreiner on current-users


# 97f4be43 28-Jul-2008 pooka <pooka@NetBSD.org>

Install mount argument structure header just like every other file system.


# 13a3f678 19-Jun-2008 christos <christos@NetBSD.org>

- setting the birthdate is valid in setattr.
- don't call nanotime if not needed.
- don't call tempfs_update() if tempfs_chtimes succeeded, because it just did.


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 5a8838cb 06-Feb-2008 jmmv <jmmv@NetBSD.org>

u_int is not a C99 standard type, so spell it out completely as
unsigned int.


123