| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
conjuction with 'thread' argument passing which is always curthread.
Remove the unuseful extra-argument and pass explicitly curthread to lower
layer functions, when necessary.
KPI results broken by this change, which should affect several ports, so
version bumping and manpage update will be further committed.
Tested by: kris, pho, Diego Sardina <siarodx at gmail dot com>
Notes:
svn path=/head/; revision=175294
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove this argument and pass curthread directly to underlying
VOP_LOCK1() VFS method. This modify makes the code cleaner and in
particular remove an annoying dependence helping next lockmgr() cleanup.
KPI results, obviously, changed.
Manpage and FreeBSD_version will be updated through further commits.
As a side note, would be valuable to say that next commits will address
a similar cleanup about VFS methods, in particular vop_lock1 and
vop_unlock.
Tested by: Diego Sardina <siarodx at gmail dot com>,
Andrea Di Pasquale <whyx dot it at gmail dot com>
Notes:
svn path=/head/; revision=175202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option just adds complexity and the new implementation no longer
will support it, so axing it now that it is unused is probabilly the
better idea.
FreeBSD version is bumped in order to reflect the KPI breakage introduced
by this patch.
In the ports tree, kris found that only old OSKit code uses it, but as
it is thought to work only on 2.x kernels serie, version bumping will
solve any problem.
Notes:
svn path=/head/; revision=174951
|
|
|
|
|
|
|
|
|
|
|
|
| |
for that argument. This will allow DDB to detect the broad category of
reason why the debugger has been entered, which it can use for the
purposes of deciding which DDB script to run.
Assign approximate why values to all current consumers of the
kdb_enter() interface.
Notes:
svn path=/head/; revision=174898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from Mac OS X Leopard--rationalize naming for entry points to
the following general forms:
mac_<object>_<method/action>
mac_<object>_check_<method/action>
The previous naming scheme was inconsistent and mostly
reversed from the new scheme. Also, make object types more
consistent and remove spaces from object types that contain
multiple parts ("posix_sem" -> "posixsem") to make mechanical
parsing easier. Introduce a new "netinet" object type for
certain IPv4/IPv6-related methods. Also simplify, slightly,
some entry point names.
All MAC policy modules will need to be recompiled, and modules
not updates as part of this commit will need to be modified to
conform to the new KPI.
Sponsored by: SPARTA (original patches against Mac OS X)
Obtained from: TrustedBSD Project, Apple Computer
Notes:
svn path=/head/; revision=172930
|
|
|
|
|
|
|
| |
Requested by: bde
Notes:
svn path=/head/; revision=172697
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(it is established practice) and ``-o whiteout=whenneeded'' is less
disk-space using mode especially for resource restricted environments
like embedded environments. (Contributed by Ed Schouten. Thanks)
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some folks who have reported some issues have solved with transparent mode.
We guess it is time to change the default copy mode. The transparent-mode is
the best in most situations.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172642
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172641
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sedov. Thanks)
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172640
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixed lock panic issue under MPSAFE.
- Fixed panic issue whenever it locks vnode with reclaim.
- Fixed lock implementations not conforming to vnode_if.src style.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172639
|
|
|
|
|
|
|
|
|
|
|
|
| |
occurred during some treatments.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172638
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
applications that use procfs on unionfs.
- Removed unionfs internal cache mechanism because it has
vfs_cache support instead. As a result, it just simplified code of
unionfs.
- Fixed kern/111262 issue.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172637
|
|
|
|
|
|
|
|
|
|
|
|
| |
compatibility feature.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172636
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172635
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improved access permission check treatments.
Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer)
Reviewed by: jeff, kensmith
Approved by: re (kensmith)
MFC after: 1 week
Notes:
svn path=/head/; revision=172634
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation
argument from being file descriptor index into the pointer to struct file.
Proposed and reviewed by: jhb
Reviewed by: daichi (unionfs)
Approved by: re (kensmith)
Notes:
svn path=/head/; revision=170152
|
|
|
|
|
|
|
|
|
| |
function calls are no more generated for vop_lock.
Rename _vop_lock to vop_lock1 to satisfy tools/vnode_if.awk assumption
about vop naming conventions. This restores pre/post-condition calls.
Notes:
svn path=/head/; revision=169671
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and flags with an sxlock. This leads to a significant and measurable
performance improvement as a result of access to shared locking for
frequent lookup operations, reduced general overhead, and reduced overhead
in the event of contention. All of these are imported for threaded
applications where simultaneous access to a shared file descriptor array
occurs frequently. Kris has reported 2x-4x transaction rate improvements
on 8-core MySQL benchmarks; smaller improvements can be expected for many
workloads as a result of reduced overhead.
- Generally eliminate the distinction between "fast" and regular
acquisisition of the filedesc lock; the plan is that they will now all
be fast. Change all locking instances to either shared or exclusive
locks.
- Correct a bug (pointed out by kib) in fdfree() where previously msleep()
was called without the mutex held; sx_sleep() is now always called with
the sxlock held exclusively.
- Universally hold the struct file lock over changes to struct file,
rather than the filedesc lock or no lock. Always update the f_ops
field last. A further memory barrier is required here in the future
(discussed with jhb).
- Improve locking and reference management in linux_at(), which fails to
properly acquire vnode references before using vnode pointers. Annotate
improper use of vn_fullpath(), which will be replaced at a future date.
In fcntl(), we conservatively acquire an exclusive lock, even though in
some cases a shared lock may be sufficient, which should be revisited.
The dropping of the filedesc lock in fdgrowtable() is no longer required
as the sxlock can be held over the sleep operation; we should consider
removing that (pointed out by attilio).
Tested by: kris
Discussed with: jhb, kris, attilio, jeff
Notes:
svn path=/head/; revision=168355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
late stages of unmount). On failure, the vnode is recycled.
Add insmntque1(), to allow for file system specific cleanup when
recycling vnode on failure.
Change getnewvnode() to no longer call insmntque(). Previously,
embryonic vnodes were put onto the list of vnode belonging to a file
system, which is unsafe for a file system marked MPSAFE.
Change vfs_hash_insert() to no longer lock the vnode. The caller now
has that responsibility.
Change most file systems to lock the vnode and call insmntque() or
insmntque1() after a new vnode has been sufficiently setup. Handle
failed insmntque*() calls by propagating errors to callers, possibly
after some file system specific cleanup.
Approved by: re (kensmith)
Reviewed by: kib
In collaboration with: kib
Notes:
svn path=/head/; revision=167497
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way we may support multiple structures in v_data vnode field within
one file system without using black magic.
Vnode-to-file-handle should be VOP in the first place, but was made VFS
operation to keep interface as compatible as possible with SUN's VFS.
BTW. Now Solaris also implements vnode-to-file-handle as VOP operation.
VFS_VPTOFH() was left for API backward compatibility, but is marked for
removal before 8.0-RELEASE.
Approved by: mckusick
Discussed with: many (on IRC)
Tested with: ufs, msdosfs, cd9660, nullfs and zfs
Notes:
svn path=/head/; revision=166774
|
|
|
|
|
|
|
|
|
|
| |
functions now more closely resemble similar functions in nullfs.
This also eliminates some errors.
Submitted by: daichi, Masanori OZAWA <ozawa ongs co jp>
Notes:
svn path=/head/; revision=165804
|
|
|
|
|
|
|
|
|
| |
sysctl vfs.lookup_shared=1.
Submitted by: daichi, Masanori OZAWA <ozawa ongs co jp>
Notes:
svn path=/head/; revision=165785
|
|
|
|
|
|
|
| |
Submitted by: daichi, Masanori OZAWA
Notes:
svn path=/head/; revision=165037
|
|
|
|
|
|
|
| |
messages.
Notes:
svn path=/head/; revision=165036
|
|
|
|
|
|
|
|
|
|
| |
in unionfs_ioctl() and unionfs_poll().
Submitted by: daichi, Masanori OZAWA <ozawa@ongs.co.jp>
Prompted by: kris
Notes:
svn path=/head/; revision=165035
|
|
|
|
|
|
|
|
| |
CID: 1667
Found by: Coverity Prevent (tm)
Notes:
svn path=/head/; revision=165034
|
|
|
|
|
|
|
|
|
|
| |
the list of nodes to free them.
CID: 1668
Found by: Coverity Prevent (tm)
Notes:
svn path=/head/; revision=165033
|
|
|
|
| |
Notes:
svn path=/head/; revision=164836
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and Daichi GOTO <daichi@FreeBSD.org> for submitting this
major rewrite of unionfs. This rewrite was done to
try to solve many of the longstanding crashing and locking
issues in the existing unionfs implementation. This
implementation also adds a 'MASQUERADE mode', which allows
the user to set different user, group, and file permission
modes in the upper layer.
Submitted by: daichi, Masanori OZAWA
Reviewed by: rodrigc (modified for minor style issues)
Notes:
svn path=/head/; revision=164829
|
|
|
|
|
|
|
|
| |
This eliminates a race where MNT_UPDATE flag could be lost when nmount()
raced against sync(), sync_fsync() or quotactl().
Notes:
svn path=/head/; revision=162647
|
|
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=160134
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Prefer '_' to ' ', as it results in more easily parsed results in
memory monitoring tools such as vmstat.
- Remove punctuation that is incompatible with using memory type names
as file names, such as '/' characters.
- Disambiguate some collisions by adding subsystem prefixes to some
memory types.
- Generally prefer lower case to upper case.
- If the same type is defined in multiple architecture directories,
attempt to use the same name in additional cases.
Not all instances were caught in this change, so more work is required to
finish this conversion. Similar changes are required for UMA zone names.
Notes:
svn path=/head/; revision=151897
|
|
|
|
|
|
|
|
| |
Approved by: ssouhlal
MFC after: 1 week
Notes:
svn path=/head/; revision=151396
|
|
|
|
|
|
|
| |
made static.
Notes:
svn path=/head/; revision=148920
|
|
|
|
|
|
|
|
|
|
| |
perfect solution as the lower vm object can change at unpredictable times
if our lower vp happens to be on another unionfs, etc.
Submitted by: Oleg Sharoiko <os@rsu.ru>
Notes:
svn path=/head/; revision=145825
|
|
|
|
|
|
|
| |
closer to passing DEBUG_VFS_LOCKS.
Notes:
svn path=/head/; revision=145586
|
|
|
|
|
|
|
| |
- Remove an erroneous VOP lock assert.
Notes:
svn path=/head/; revision=145585
|
|
|
|
|
|
|
|
|
| |
locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details.
Sponsored by: Isilon Systems, Inc.
Notes:
svn path=/head/; revision=145006
|
|
|
|
|
|
|
| |
unlocked in the ISDOTDOT case now, not for all !ISLASTCN lookups.
Notes:
svn path=/head/; revision=144620
|
|
|
|
|
|
|
| |
Sponsored by: Isilon Systems, Inc.
Notes:
svn path=/head/; revision=144225
|
|
|
|
|
|
|
|
|
|
|
| |
these filesystems will support shared locks until they are explicitly
modified to do so. Careful review must be done to ensure that this
is safe for each individual filesystem.
Sponsored by: Isilon Systems, Inc.
Notes:
svn path=/head/; revision=144058
|
|
|
|
|
|
|
|
|
|
|
| |
the filesystem. Check that rather than VI_XLOCK.
- VOP_INACTIVE should no longer drop the vnode lock.
- The vnode lock is required around calls to vrecycle() and vgone().
Sponsored by: Isilon Systems, Inc.
Notes:
svn path=/head/; revision=143513
|
|
|
|
|
|
|
| |
Submitted by: Coverity Prevent analysis tool
Notes:
svn path=/head/; revision=142255
|
|
|
|
| |
Notes:
svn path=/head/; revision=141442
|
|
|
|
| |
Notes:
svn path=/head/; revision=140783
|
|
|
|
|
|
|
| |
for a given vnode to create a vnode_pager object if one is needed.
Notes:
svn path=/head/; revision=140781
|
|
|
|
|
|
|
| |
filesystem which owns the vnode.
Notes:
svn path=/head/; revision=140779
|
|
|
|
| |
Notes:
svn path=/head/; revision=140734
|
|
|
|
| |
Notes:
svn path=/head/; revision=140196
|