History log of /dragonfly/sys/kern/vfs_jops.c (Results 1 – 25 of 42)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# df0b0ead 05-May-2020 Sascha Wildner <saw@online.de>

kernel/vm: Rename *_putpages()'s 'sync' argument to 'flags'.

It used to be a boolean but has now become a general flags argument
(for OBJPC_*).


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 91ffdfc5 01-Dec-2019 Sascha Wildner <saw@online.de>

<sys/types.h>: Get rid of udev_t.

In a time long long ago, dev_t was a pointer, which later became cdev_t
during the great cleanups, until it ended up being a uint32_t, just like
udev_t. See for exa

<sys/types.h>: Get rid of udev_t.

In a time long long ago, dev_t was a pointer, which later became cdev_t
during the great cleanups, until it ended up being a uint32_t, just like
udev_t. See for example the definitions of __dev_t in <sys/stat.h>.

This commit cleans up further by removing the udev_t type, leaving just
the POSIX dev_t type for both kernel and userland. Put it inside a
_DEV_T_DECLARED to prepare for further cleanups in <sys/stat.h>.

show more ...


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# fcf6efef 02-Mar-2019 Sascha Wildner <saw@online.de>

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them agai

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them again for where crit_*() are
no longer used.

I had to adjust some files that were relying on thread2.h
or headers that it includes coming in via other headers
that it was removed from.

show more ...


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1, v2.0.1
# cfb7e99a 21-Aug-2007 Matthew Dillon <dillon@dragonflybsd.org>

Do not try to dump UIO_NOCOPY writes to the journal. There's nothing
to dump at the moment.


# b478fdce 08-Aug-2007 Sascha Wildner <swildner@dragonflybsd.org>

Adjust some comments with reality.


# 0e9b9130 09-May-2007 Matthew Dillon <dillon@dragonflybsd.org>

Give the device major / minor numbers their own separate 32 bit fields
in the kernel. Change dev_ops to use a RB tree to index major device
numbers and remove the 256 device major number limitation.

Give the device major / minor numbers their own separate 32 bit fields
in the kernel. Change dev_ops to use a RB tree to index major device
numbers and remove the 256 device major number limitation.

Build a dynamic major number assignment feature into dev_ops_add() and
adjust ASR (which already had a hand-rolled one), and MFS to use the
feature. MFS at least does not require any filesystem visibility to
access its backing device. Major devices numbers >= 256 are used for
dynamic assignment.

Retain filesystem compatibility for device numbers that fall within the
range that can be represented in UFS or struct stat (which is a single
32 bit field supporting 8 bit major numbers and 24 bit minor numbers).

show more ...


# 6ea70f76 23-Dec-2006 Sascha Wildner <swildner@dragonflybsd.org>

Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).


# 28623bf9 27-Oct-2006 Matthew Dillon <dillon@dragonflybsd.org>

Major namecache work primarily to support NULLFS.

* Move the nc_mount field out of the namecache{} record and use a new
namecache handle structure called nchandle { mount, ncp } for all
API acce

Major namecache work primarily to support NULLFS.

* Move the nc_mount field out of the namecache{} record and use a new
namecache handle structure called nchandle { mount, ncp } for all
API accesses to the namecache.

* Remove all mount point linkages from the namecache topology. Each mount
now has its own namecache topology rooted at the root of the mount point.

Mount points are flagged in their underlying filesystem's namecache
topology but instead of linking the mount into the topology, the flag
simply triggers a mountlist scan to locate the mount. ".." is handled
the same way... when the root of a topology is encountered the scan
can traverse to the underlying filesystem via a field stored in the
mount structure.

* Ref the mount structure based on the number of nchandle structures
referencing it, and do not kfree() the mount structure during a forced
unmount if refs remain.

These changes have the following effects:

* Traversal across mount points no longer require locking of any sort,
preventing process blockages occuring in one mount from leaking across
a mount point to another mount.

* Aliased namespaces such as occurs with NULLFS no longer duplicate the
namecache topology of the underlying filesystem. Instead, a NULLFS
mount simply shares the underlying topology (differentiating between
it and the underlying topology by the fact that the name cache
handles { mount, ncp } contain NULLFS's mount pointer.

This saves an immense amount of memory and allows NULLFS to be used
heavily within a system without creating any adverse impact on kernel
memory or performance.

* Since the namecache topology for a NULLFS mount is shared with the
underyling mount, the namecache records are in fact the same records
and thus full coherency between the NULLFS mount and the underlying
filesystem is maintained by design.

* Future efforts, such as a unionfs or shadow fs implementation, now
have a mount structure to work with. The new API is a lot more
flexible then the old one.

show more ...


# 17cd11bb 30-Sep-2006 Sascha Wildner <swildner@dragonflybsd.org>

Remove wrong redeclarations.


# 77652cad 05-Sep-2006 Matthew Dillon <dillon@dragonflybsd.org>

Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 2


# efda3bd0 05-Sep-2006 Matthew Dillon <dillon@dragonflybsd.org>

Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 1


# 66a1ddf5 18-Jul-2006 Matthew Dillon <dillon@dragonflybsd.org>

Remove several layers in the vnode operations vector init code. Declare
the operations vector directly instead of via a descriptor array. Remove
most of the recalculation code, it stopped being nee

Remove several layers in the vnode operations vector init code. Declare
the operations vector directly instead of via a descriptor array. Remove
most of the recalculation code, it stopped being needed over a year ago.

This work is similar to what FreeBSD now does, but was developed along a
different line. Ultimately our vop_ops will become SYSLINK ops for userland
VFS and clustering support.

show more ...


# f56dc967 08-May-2006 Matthew Dillon <dillon@dragonflybsd.org>

Split kern/vfs_journal.c. Leave the low level journal support code in
kern/vfs_journal.c and move all the mount-based journaling code and
journaling VNOPS to kern/vfs_jops.c. This is in preparation

Split kern/vfs_journal.c. Leave the low level journal support code in
kern/vfs_journal.c and move all the mount-based journaling code and
journaling VNOPS to kern/vfs_jops.c. This is in preparation for utilizing
the core journaling protocol for userland VFS support.

show more ...


# 797e4fe9 07-May-2006 Matthew Dillon <dillon@dragonflybsd.org>

Recode the streamid selector. The streamid was faked before. Do it for
real now, guarenteeing that parallel transactions will have unique stream
identifiers.

In addition, while not required, strea

Recode the streamid selector. The streamid was faked before. Do it for
real now, guarenteeing that parallel transactions will have unique stream
identifiers.

In addition, while not required, streamid calculations are such that non
parallel transactions will have a tendancy to use the same id, so someone
observing the streamid's in a journaling stream can easily pick out when
parallel transactions occur.

show more ...


# 9f87144f 06-May-2006 Matthew Dillon <dillon@dragonflybsd.org>

The fdrop() procedure no longer needs a thread argument, remove it.


# 87de5057 06-May-2006 Matthew Dillon <dillon@dragonflybsd.org>

The thread/proc pointer argument in the VFS subsystem originally existed
for... well, I'm not sure *WHY* it originally existed when most of the
time the pointer couldn't be anything other then curth

The thread/proc pointer argument in the VFS subsystem originally existed
for... well, I'm not sure *WHY* it originally existed when most of the
time the pointer couldn't be anything other then curthread or curproc or
the code wouldn't work. This is particularly true of lockmgr locks.

Remove the pointer argument from all VOP_*() functions, all fileops functions,
and most ioctl functions.

show more ...


# dc1be39c 17-Sep-2005 Matthew Dillon <dillon@dragonflybsd.org>

Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
structure. Add a new flag called VVF_SUPPORTS_FSMID to indicate filesystems
which support persistent storage of FSMIDs.

Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
structure. Add a new flag called VVF_SUPPORTS_FSMID to indicate filesystems
which support persistent storage of FSMIDs. Rework the FSMID code a bit
to reduce overhead.

Use the spare field in the UFS inode structure to implement a persistent
FSMID. The FSMID is recursively marked in the namecache but not adjusted
until the next getattr() call on the related inode(s), or when the vnode
is reclaimed.

show more ...


# aa159335 07-Sep-2005 Matthew Dillon <dillon@dragonflybsd.org>

Slightly reorganize the transaction data. Instead of placing the REDO data
at the top level, place it under a REDO sub-transaction. This way we can
treat UNDO and REDO scans the same.


# 9b23f2eb 06-Sep-2005 Matthew Dillon <dillon@dragonflybsd.org>

Document a special case for Journaling PAD records. PAD records have to
be able to fill up any dead space which, due to 16 byte alignment, can
be as little as 16 bytes. In this case the rawrecend

Document a special case for Journaling PAD records. PAD records have to
be able to fill up any dead space which, due to 16 byte alignment, can
be as little as 16 bytes. In this case the rawrecend overlaps the transid
field of the rawrecbeg. Thus, JREC_MINRECSIZE is actually 16, not 32.

show more ...


# 25bae9ce 24-Aug-2005 Matthew Dillon <dillon@dragonflybsd.org>

When writing UNDO records, only try to output the file contents for VREG
vnodes (fixes a panic). When writing the UNDO record for a symlink,
write out the contents of the symlink.


# 26e603ed 24-Aug-2005 Matthew Dillon <dillon@dragonflybsd.org>

Filesystem journaling. Reorganize the journal scan for the mountpoint to
allow portions of the journal transaction to be written prior to the VOP
operation being executed, and accomodate transaction

Filesystem journaling. Reorganize the journal scan for the mountpoint to
allow portions of the journal transaction to be written prior to the VOP
operation being executed, and accomodate transactional aborts if the VOP
fails. Previously the journal records had to be written only after the VOP
succeeded.

Implement UNDO records, including writing out file data that is about to
be overwritten and the mtime prior to a write, rename, or remove. UNDO
records allow us to create a reversable journal, where we can wind a mirror
forwards or backwards simply by scanning the journal forwards or backwards.

show more ...


# 500b6a22 13-Jul-2005 Matthew Dillon <dillon@dragonflybsd.org>

Add journaling restart support, required to produce a robust journaling
environment. If a journal is writing to one stream and the stream breaks
or dies or otherwise fails, this feature gives us the

Add journaling restart support, required to produce a robust journaling
environment. If a journal is writing to one stream and the stream breaks
or dies or otherwise fails, this feature gives us the ability to restart the
journaling stream on a new descriptor without losing any data. The
journaling restart code does a shutdown() of the old descriptor, waits for
both directions to cease operation, installs a new stream descriptor,
and resets the FIFO index to the last acknowledged offset.

This can be demonstrated by opening two windows. In the first window do:

mountctl -a2 /usr:test | jscan -d2 stdin

Mess around a bit on /usr. Then in the second window do:

mountctl -r2 /usr:test | jscan -d2 stdin

The first jscan will terminate and the new jscan will pick up the stream.

show more ...


# 3119bac5 06-Jul-2005 Matthew Dillon <dillon@dragonflybsd.org>

Implement the full-duplex ack protocol. refurbish some of the memory
fifo statistics.


# f4659a6c 05-Jul-2005 Matthew Dillon <dillon@dragonflybsd.org>

Generate the correct referential data when journaling hardlinks.


12