| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
and s/BUF_WRITE()/bwrite()/ since it now does the same as bwrite().
|
| |
|
|
|
|
| |
Don't call addaliasu() on VBLK nodes.
|
|
|
|
| |
pointed out by bde.
|
|
|
|
|
|
|
|
| |
support is partial in that it will refuse to create large files on
filesystems that haven't been upgraded to EXT2_DYN_REV or that don't
have the EXT2_FEATURE_RO_COMPAT_LARGE_FILE flag set in the superblock.
MFC after: 2 weeks
|
|
|
|
|
| |
"independent" as "dependent" Fixed some other relatively minor wording
and formatting errors.
|
|
|
|
| |
dishonoring of requests for read-write mounts.
|
|
|
|
|
|
|
|
|
|
| |
the vnode around calls to vinvalbuf()). Apparently no one has tested
ext2fs with DEBUG_VOP_LOCKS. Vnode locking for vinvalbuf() might not
be required in non-soft-updates cases, but it is now asserted.
MFffs (uncommitted related and nearby cleanups: don't unlock the vnode
after vinvalbuf() only to have to relock it almost immediately; don't
refer to devices classified by vn_isdisk() as block devices).
|
|
|
|
|
|
|
|
|
|
|
|
| |
dishonored in rev.1.1 by commenting out the code that honored it. This
gave the worst disadvantages of async mounts in an uncontrollable way.
Honoring the flag costs about 50% in real time in worst cases on a new
but not very fast ATA drive with write caching (probably more on drives
without write caching). The old misbehavior can be recovered using
async mounts after implementing them in mount_ext2fs(8) (just put the
MNT_ASYNC flag in mount_ext2fs's table of supported options like it
is in mount's table).
|
|
|
|
| |
gratuitous differences with ffs a little.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- struct plimit includes a mutex to protect a reference count. The plimit
structure is treated similarly to struct ucred in that is is always copy
on write, so having a reference to a structure is sufficient to read from
it without needing a further lock.
- The proc lock protects the p_limit pointer and must be held while reading
limits from a process to keep the limit structure from changing out from
under you while reading from it.
- Various global limits that are ints are not protected by a lock since
int writes are atomic on all the archs we support and thus a lock
wouldn't buy us anything.
- All accesses to individual resource limits from a process are abstracted
behind a simple lim_rlimit(), lim_max(), and lim_cur() API that return
either an rlimit, or the current or max individual limit of the specified
resource from a process.
- dosetrlimit() was renamed to kern_setrlimit() to match existing style of
other similar syscall helper functions.
- The alpha OSF/1 compat layer no longer calls getrlimit() and setrlimit()
(it didn't used the stackgap when it should have) but uses lim_rlimit()
and kern_setrlimit() instead.
- The svr4 compat no longer uses the stackgap for resource limits calls,
but uses lim_rlimit() and kern_setrlimit() instead.
- The ibcs2 compat no longer uses the stackgap for resource limits. It
also no longer uses the stackgap for accessing sysctl's for the
ibcs2_sysconf() syscall but uses kernel_sysctl() instead. As a result,
ibcs2_sysconf() no longer needs Giant.
- The p_rlimit macro no longer exists.
Submitted by: mtm (mostly, I only did a few cleanups and catchups)
Tested on: i386
Compiled on: alpha, amd64
|
|
|
|
|
|
|
|
| |
the user requests a read-only mount. This is necessary because we
don't do the VOP_OPEN again if they upgrade a read-only mount to
read-write.
Noticed by: bde
|
| |
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| |
| | |
ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.1.tar.bz2
or http://www.alsa-project.org/alsa/cvs/alsa-kernel/include/emu10k1.h
|
| | |
|
| |
| |
| |
| | |
Also protect AC97_MUTE which is also defined in our own ac97.h.
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| | |
http://cvs.sourceforge.net/viewcvs.py/emu10k1/emu10k1/ac97_codec.h
|
| |
| |
| |
| |
| |
| |
| |
| | |
of ffs_reload()'s mountp parameter to mp in rev.1.28 of ffs_vnops.c
had not been merged here.
ext2fs_reload() is still missing locking from not merging other changes
to ffs_reload(), but none of these is related to recent locking changes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce two new macros MNT_ILOCK(mp)/MNT_IUNLOCK(mp) to
operate on this mutex transparently.
Eventually new mutex will be protecting more fields in
struct mount, not only vnode list.
Discussed with: jeff
|
| |
| |
| |
| | |
we want it again.
|
| |
| |
| |
| | |
and one cannot be sure it is equal to curthread.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
wasn't curthread, i.e. when we receive a thread pointer to use
as a function argument. Use VOP_UNLOCK/vrele in these cases.
The only case there td != curthread known at the moment is
boot() calling sync with thread0 pointer.
This fixes the panic on shutdown people have reported.
|
| |
| |
| |
| |
| |
| |
| |
| | |
It is unsafe to hold a mutex across vput/vrele calls.
This will be redone when a better locking strategy is agreed upon.
Discussed with: jeff
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
code has the typical branch prediction detour, which creates cross-
section branches. A LINT kernel is apparently large enough nowadays
that the .text and .text2 sections cannot always be layed-out so that
branches between them reach.
The fix is to stop using the alpha-specific bitops and instead use
the portable implementation used by all platforms other than alpha
and i386.
|
| |
| |
| |
| |
| | |
bp->b_iooffset (the spot on the disk), not bp->b_offset (the offset in
the file)
|
| | |
|
| |
| |
| |
| |
| |
| | |
v_data field before calling vget/vn_lock must check VI_XLOCK manually to
be sure that v_data is still valid. Implement this check in two places
here.
|
| |
| |
| |
| | |
this is redundant.
|
| |
| |
| |
| |
| | |
interlock. We do this so that we still hold the interlock when we lock
the vnode later. This prevents races with the mnt vnode list.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- In ULCK_BUF we no longer need to acquire the lock, just write the buf out.
- The combination of these changes eliminates one more use of B_LOCKED which
is in the way of making the buffer cache SMP safe. In the long term
ext2fs should probably not try to optimize the use of their metadata bufs
with a private cache. This will starve the rest of the system for buffers
in the extreme case.
Discussed with: bde (A long time ago..)
Tested on: md disk/x86
|
| |
| |
| |
| |
| |
| |
| |
| | |
implementations. Use those on platforms that don't have MD
headers. Remove the ia64 MD header. We're going to use the C
implementation there.
Suggested by: bde
|
| |
| |
| |
| |
| | |
The functions in ia64-bitops.h merely call panic() for now. They need
to be implemented some day, just not today.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
contain the filedescriptor number on opens from userland.
The index is used rather than a "struct file *" since it conveys a bit
more information, which may be useful to in particular fdescfs and /dev/fd/*
For now pass -1 all over the place.
|
| |
| |
| |
| |
| | |
theoretically supportable, but you'd really be happier with FreeBSD 2.1.8
on it.
|
| |
| |
| |
| | |
to check that the buffer points to the correct vnode.
|
| |
| |
| |
| |
| | |
Submitted by: hmp
Reviewed by: phk
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| |
| |
| | |
includes some needed Audigy support). This can be found at
ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.4.tar.bz2
and http://www.alsa-project.org/alsa/cvs/alsa-kernel/include/emu10k1.h
|
| |
| |
| |
| | |
Found by: FlexeLint
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| |
| |
| |
| | |
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/emu10k1/emu10k1/ac97_codec.h
|
| |
| |
| |
| |
| | |
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/emu10k1/emu10k1/8010.h.
This includes some Audigy support.
|
| |
| |
| |
| |
| | |
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/emu10k1/emu10k1/8010.h.
Rev 1.39 best matches our rev 1.3.
|
| | |
|
| | |
|
| |
| |
| |
| | |
and improve readability.
|
| | |
|