History log of /freebsd-current/sys/fs/tmpfs/tmpfs_fifoops.c
Revision Date Author Comments
# dfc01658 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .c pattern

Remove /^#include\s+<sys/cdefs.h>.*$\n\s+__FBSDID\("\$FreeBSD\$"\);\n/


# b61a5730 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD

The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 5e954b92 18-Apr-2023 Mateusz Guzik <mjg@FreeBSD.org>

tmpfs: add missing vop_fplookup ops to tmpfs_fifoop_entries

Reported by: gbe
PR: 270917


# 18790219 26-Nov-2021 Mateusz Guzik <mjg@FreeBSD.org>

tmpfs: add vop_stdadd_writecount_nomsync to fifo vnode ops

Reported by: yasu
Fixes: 3ffcfa599e29686c ("vfs: add vop_stdadd_writecount_nomsync")


# 016b7c7e 16-Sep-2020 Konstantin Belousov <kib@FreeBSD.org>

tmpfs: restore atime updates for reads from page cache.

Split TMPFS_NODE_ACCCESSED bit into dedicated byte that can be updated
atomically without locks or (locked) atomics.

tn_update_getattr() change also contains unrelated bug fix.

Reported by: lwhsu
PR: 249362
Reviewed by: markj (previous version)
Discussed with: mjg
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D26451


# 6fa079fc 15-Dec-2019 Mateusz Guzik <mjg@FreeBSD.org>

vfs: flatten vop vectors

This eliminates the following loop from all VOP calls:

while(vop != NULL && \
vop->vop_spare2 == NULL && vop->vop_bypass == NULL)
vop = vop->vop_default;

Reviewed by: jeff
Tesetd by: pho
Differential Revision: https://reviews.freebsd.org/D22738


# e1cdc30f 02-Apr-2019 Konstantin Belousov <kib@FreeBSD.org>

tmpfs: ignore tmpfs_set_status() if mount point is read-only.

In particular, this fixes atimes still changing for ro tmpfs.
tmpfs_set_status() gains tmpfs_mount * argument.

Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D19737


# b501cc5d 19-Dec-2017 John Baldwin <jhb@FreeBSD.org>

Rework pathconf handling for FIFOs.

On the one hand, FIFOs should respect other variables not supported by
the fifofs vnode operation (such as _PC_NAME_MAX, _PC_LINK_MAX, etc.).
These values are fs-specific and must come from a fs-specific method.
On the other hand, filesystems that support FIFOs are required to
support _PC_PIPE_BUF on directory vnodes that can contain FIFOs.
Given this latter requirement, once the fs-specific VOP_PATHCONF
method supports _PC_PIPE_BUF for directories, it is also suitable for
FIFOs permitting a single VOP_PATHCONF method to be used for both
FIFOs and non-FIFOs.

To that end, retire all of the FIFO-specific pathconf methods from
filesystems and change FIFO-specific vnode operation switches to use
the existing fs-specific VOP_PATHCONF method. For fifofs, set it's
VOP_PATHCONF to VOP_PANIC since it should no longer be used.

While here, move _PC_PIPE_BUF handling out of vop_stdpathconf() so that
only filesystems supporting FIFOs will report a value. In addition,
only report a valid _PC_PIPE_BUF for directories and FIFOs.

Discussed with: bde
Reviewed by: kib (part of a larger patch)
MFC after: 1 month
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D12572


# db357f58 05-Dec-2017 Gleb Smirnoff <glebius@FreeBSD.org>

Fix file missed in r326607.


# d63027b6 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/fs: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# eafe4941 18-Nov-2017 Xin LI <delphij@FreeBSD.org>

Remove unused header.


# 5b01ccb0 25-Sep-2017 John Baldwin <jhb@FreeBSD.org>

Use tmpfs_print for tmpfs FIFOs.

Reviewed by: kib (part of a larger patch)


# 5dc11286 06-Jan-2017 Konstantin Belousov <kib@FreeBSD.org>

Lock tmpfs node tn_status updates done under the shared vnode lock.

If tmpfs vnode is only shared locked, tn_status field still needs
updates to note the access time modification. Use the same locking
scheme as for UFS, protect tn_status with the node interlock + shared
vnode lock.

Fix nearby style.

Noted and reviewed by: mjg
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# 9a4d5dbb 06-Jan-2017 Konstantin Belousov <kib@FreeBSD.org>

Remove dead code.

Fifos overwrite file ops vector, and fifo VOP_KQFILTER is VOP_PANIC().

Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# fca015d3 14-Jul-2014 Konstantin Belousov <kib@FreeBSD.org>

Remove code separator lines which do not conform to style(9).

Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# e08d5567 03-Sep-2008 Xin LI <delphij@FreeBSD.org>

Reflect license change of NetBSD code.

Obtained from: NetBSD
MFC after: 3 days


# a321f489 27-Jun-2007 Xin LI <delphij@FreeBSD.org>

Space/style cleanups after last set of commits.

Approved by: re (tmpfs blanket)


# a96539bf 27-Jun-2007 Xin LI <delphij@FreeBSD.org>

Staticify most of fifo/vn operations, they should not
be directly exposed outside.

Approved by: re (tmpfs blanket)


# d1fa59e9 15-Jun-2007 Xin LI <delphij@FreeBSD.org>

MFp4: Add tmpfs, an efficient memory file system.

Please note that, this is currently considered as an
experimental feature so there could be some rough
edges. Consult http://wiki.freebsd.org/TMPFS for
more information.

For now, connect tmpfs to build on i386 and amd64
architectures only. Please let us know if you have
success with other platforms.

This work was developed by Julio M. Merino Vidal
for NetBSD as a SoC project; Rohit Jalan ported it
from NetBSD to FreeBSD. Howard Su and Glen Leeder
are worked on it to continue this effort.

Obtained from: NetBSD via p4
Submitted by: Howard Su (with some minor changes)
Approved by: re (kensmith)