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.
|