|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0 |
|
| #
bd456943 |
| 26-Nov-2018 |
Mark Johnston <[email protected]> |
MFC r340787 (by rmacklem), r340856, r340859: Ensure that directory entry padding bytes are zeroed.
|
|
Revision tags: release/11.2.0 |
|
| #
6469bdcd |
| 06-Apr-2018 |
Brooks Davis <[email protected]> |
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is close
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options.
Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures.
Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files.
Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
show more ...
|
| #
d63027b6 |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
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
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.
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
69921123 |
| 23-May-2017 |
Konstantin Belousov <[email protected]> |
Commit the 64-bit inode project.
Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_na
Commit the 64-bit inode project.
Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment. Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024.
ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks. Unfortunately, not everything can be fixed, especially outside the base system. For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways.
Kinfo sysctl MIBs ABI is changed in backward-compatible way, but there is no general mechanism to handle other sysctl MIBS which return structures where the layout has changed. It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important.
Struct xvnode changed layout, no compat shims are provided.
For struct xtty, dev_t tty device member was reduced to uint32_t. It was decided that keeping ABI compat in this case is more useful than reporting 64-bit dev_t, for the sake of pstat.
Update note: strictly follow the instructions in UPDATING. Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world.
Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver. Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib).
Sponsored by: The FreeBSD Foundation (emaste, kib) Differential revision: https://reviews.freebsd.org/D10439
show more ...
|
| #
cf53034f |
| 16-Feb-2017 |
Konstantin Belousov <[email protected]> |
Minor style fixes.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
ae402378 |
| 21-May-2016 |
Konstantin Belousov <[email protected]> |
Remove zero assignments in the cdev allocator. cdp memory is requested with M_ZERO.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
|
Revision tags: release/10.3.0 |
|
| #
1a2dd035 |
| 22-Jan-2016 |
Konstantin Belousov <[email protected]> |
When devfs dirent is freed, a vnode might still keep a pointer to it, apparently. Interlock and clear the pointer to avoid free memory dereference.
Submitted by: bde (previous version) MFC after: 3
When devfs dirent is freed, a vnode might still keep a pointer to it, apparently. Interlock and clear the pointer to avoid free memory dereference.
Submitted by: bde (previous version) MFC after: 3 weeks
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
4f9343fc |
| 21-Mar-2015 |
Xin LI <[email protected]> |
Disable timestamping on devfs read/write operations by default.
Currently we update timestamps unconditionally when doing read or write operations. This may slow things down on hardware where readi
Disable timestamping on devfs read/write operations by default.
Currently we update timestamps unconditionally when doing read or write operations. This may slow things down on hardware where reading timestamps is expensive (e.g. HPET, because of the default vfs.timestamp_precision setting is nanosecond now) with limited benefit.
A new sysctl variable, vfs.devfs.dotimes is added, which can be set to non-zero value when the old behavior is desirable.
Differential Revision: https://reviews.freebsd.org/D2104 Reported by: Mike Tancsa <mike sentex net> Reviewed by: kib Relnotes: yes Sponsored by: iXsystems, Inc. MFC after: 2 weeks
show more ...
|
| #
3b50dff5 |
| 19-Jan-2015 |
Konstantin Belousov <[email protected]> |
Stop enforcing additional reference on all cdevs, which was introduced in r277199. Acquire the neccessary reference in delist_dev_locked() and inform destroy_devl() about it using CDP_UNREF_DTR flag
Stop enforcing additional reference on all cdevs, which was introduced in r277199. Acquire the neccessary reference in delist_dev_locked() and inform destroy_devl() about it using CDP_UNREF_DTR flag.
Fix some style nits, add asserts.
Discussed with: hselasky Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
| #
a57a934a |
| 19-Jan-2015 |
Konstantin Belousov <[email protected]> |
Ignore devfs directory entries for devices either being destroyed or delisted. The check is racy.
Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
| #
d2955419 |
| 14-Jan-2015 |
Hans Petter Selasky <[email protected]> |
Avoid race with "dev_rel()" when using the recently added "delist_dev()" function. Make sure the character device structure doesn't go away until the end of the "destroy_dev()" function due to concur
Avoid race with "dev_rel()" when using the recently added "delist_dev()" function. Make sure the character device structure doesn't go away until the end of the "destroy_dev()" function due to concurrently running cleanup code inside "devfs_populate()".
MFC after: 1 week Reported by: dchagin@
show more ...
|
|
Revision tags: release/10.1.0 |
|
| #
f0188618 |
| 21-Oct-2014 |
Hans Petter Selasky <[email protected]> |
Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.
- Wrong or missing "access" specifier. The "access" specifier sometimes included the SYSCTL type, which it
Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.
- Wrong or missing "access" specifier. The "access" specifier sometimes included the SYSCTL type, which it should not, except for procedural SYSCTL nodes.
- Logical OR where binary OR was expected.
- Properly assert the "access" argument passed to all SYSCTL macros, using the CTASSERT macro. This applies to both static- and dynamically created SYSCTLs.
- Properly assert the the data type for both static and dynamic SYSCTLs. In the case of static SYSCTLs we only assert that the data pointed to by the SYSCTL data pointer has the correct size, hence there is no easy way to assert types in the C language outside a C-function.
- Rewrote some code which doesn't pass a constant "access" specifier when creating dynamic SYSCTL nodes, which is now a requirement.
- Updated "EXAMPLES" section in SYSCTL manual page.
MFC after: 3 days Sponsored by: Mellanox Technologies
show more ...
|
|
Revision tags: release/9.3.0, release/10.0.0 |
|
| #
ca187878 |
| 12-Dec-2013 |
Alexander Motin <[email protected]> |
Fix long known bug with handling device aliases residing not in devfs root.
Historically creation of device aliases created symbolic links using only name of target device as a link target, not cons
Fix long known bug with handling device aliases residing not in devfs root.
Historically creation of device aliases created symbolic links using only name of target device as a link target, not considering current directory. Fix that by adding number of "../" chunks to the terget device name, required to get out of the current directory to devfs root first.
MFC after: 1 month
show more ...
|
|
Revision tags: release/9.2.0, release/8.4.0 |
|
| #
a2098fea |
| 17-Apr-2013 |
Gabor Kovesdan <[email protected]> |
- Correct mispellings of the word necessary
Submitted by: Christoph Mallon <[email protected]> (via private mail)
|
|
Revision tags: release/9.1.0 |
|
| #
6feceb86 |
| 14-Nov-2012 |
Konstantin Belousov <[email protected]> |
Remove M_USE_RESERVE from the devfs cdp allocator, which is one of two uses of M_USE_RESERVE in the kernel. This allocation is not special.
Reviewed by: alc Tested by: pho MFC after: 2 weeks
|
|
Revision tags: release/8.3.0, release/7.4.0, release/8.2.0, release/8.1.0 |
|
| #
c67c645d |
| 20-May-2010 |
Konstantin Belousov <[email protected]> |
MFC r207729: Add MAKEDEV_NOWAIT flag for make_dev_credf(9).
|
| #
8fac9b7b |
| 10-Feb-2012 |
Ed Schouten <[email protected]> |
Merge si_name and __si_namebuf.
The si_name pointer always points to the __si_namebuf member inside the same object. Remove it and rename __si_namebuf to si_name.
|
| #
084e62e9 |
| 05-Oct-2011 |
Konstantin Belousov <[email protected]> |
Export devfs inode number allocator for the kernel consumers.
Reviewed by: jhb MFC after: 2 weeks
|
| #
e047ade9 |
| 09-Aug-2011 |
Konstantin Belousov <[email protected]> |
Do not update mountpoint generation counter to the value which was not yet acted upon by devfs_populate().
Submitted by: Kohji Okuno <okuno.kohji jp panasonic com> Approved by: re (bz) MFC after: 1
Do not update mountpoint generation counter to the value which was not yet acted upon by devfs_populate().
Submitted by: Kohji Okuno <okuno.kohji jp panasonic com> Approved by: re (bz) MFC after: 1 week
show more ...
|
| #
ef456eec |
| 15-Dec-2010 |
Jaakko Heinonen <[email protected]> |
- Assert that dm_lock is exclusively held in devfs_rules_apply() and in devfs_vmkdir() while adding the entry to de_list of the parent. - Apply devfs rules to newly created directories and symbolic
- Assert that dm_lock is exclusively held in devfs_rules_apply() and in devfs_vmkdir() while adding the entry to de_list of the parent. - Apply devfs rules to newly created directories and symbolic links.
PR: kern/125034 Submitted by: Mateusz Guzik (original version)
show more ...
|
| #
47bcfb64 |
| 27-Sep-2010 |
Jaakko Heinonen <[email protected]> |
Add a new function devfs_dev_exists() to be able to find out if a specific devfs path already exists.
The function will be used from kern_conf.c to detect duplicate device registrations. Callers mus
Add a new function devfs_dev_exists() to be able to find out if a specific devfs path already exists.
The function will be used from kern_conf.c to detect duplicate device registrations. Callers must hold the devmtx mutex.
Reviewed by: kib
show more ...
|
| #
d318c565 |
| 27-Sep-2010 |
Jaakko Heinonen <[email protected]> |
Add reference counting for devfs paths containing user created symbolic links. The reference counting is needed to be able to determine if a specific devfs path exists. For true device file paths we
Add reference counting for devfs paths containing user created symbolic links. The reference counting is needed to be able to determine if a specific devfs path exists. For true device file paths we can traverse the cdevp_list but a separate directory list is needed for user created symbolic links.
Add a new directory entry flag DE_USER to mark entries which should unreference their parent directory on deletion.
A new function to traverse cdevp_list and the directory list will be introduced in a separate commit.
Idea from: kib Reviewed by: kib
show more ...
|
| #
8570d045 |
| 18-Sep-2010 |
Jaakko Heinonen <[email protected]> |
- For consistency, remove "." and ".." entries from de_dlist before calling devfs_delete() (and thus possibly dropping dm_lock) in devfs_rmdir_empty(). - Assert that we don't return doomed entrie
- For consistency, remove "." and ".." entries from de_dlist before calling devfs_delete() (and thus possibly dropping dm_lock) in devfs_rmdir_empty(). - Assert that we don't return doomed entries from devfs_find(). [1]
Suggested by: kib [1] Reviewed by: kib
show more ...
|
| #
89d10571 |
| 15-Sep-2010 |
Jaakko Heinonen <[email protected]> |
Remove empty devfs directories automatically.
devfs_delete() now recursively removes empty parent directories unless the DEVFS_DEL_NORECURSE flag is specified. devfs_delete() can't be called anymore
Remove empty devfs directories automatically.
devfs_delete() now recursively removes empty parent directories unless the DEVFS_DEL_NORECURSE flag is specified. devfs_delete() can't be called anymore with a parent directory vnode lock held because the possible parent directory deletion needs to lock the vnode. Thus we unlock the parent directory vnode in devfs_remove() before calling devfs_delete().
Call devfs_populate_vp() from devfs_symlink() and devfs_vptocnp() as now directories can get removed.
Add a check for DE_DOOMED flag to devfs_populate_vp() because devfs_delete() drops dm_lock before the VI_DOOMED vnode flag gets set. This ensures that devfs_populate_vp() returns an error for directories which are in progress of deletion.
Reviewed by: kib Discussed on: freebsd-current (mostly silence)
show more ...
|
| #
64040d39 |
| 12-Aug-2010 |
Jaakko Heinonen <[email protected]> |
Allow user created symbolic links to cover device files and directories if the device file appears during or after the link creation.
User created symbolic links are now inserted at the head of the
Allow user created symbolic links to cover device files and directories if the device file appears during or after the link creation.
User created symbolic links are now inserted at the head of the directory entry list after the "." and ".." entries. A new directory entry flag DE_COVERED indicates that an entry is covered by a symbolic link.
PR: kern/114057 Reviewed by: kib Idea from: kib Discussed on: freebsd-current (mostly silence)
show more ...
|