Age | Commit message (Collapse) | Author |
|
Damn those memcpy-wrapping macros!
"do it" deraadt
|
|
Reported by Roman Yakovlev, thanks!
"do it now" deraadt
|
|
Because ext2fs has only 32-bit inode numbers, use ufsino_t as in FFS.
Disk blocks are u_int32_t as well, because we don't support the 64BIT flag.
When we do, there's going to be a lot more going on than just daddr_t.
While there, add some journaling-related bits into the superblock to play with.
ok guenther
|
|
moment and now is not the time. hitting these in here causes chaos.
We need to do these, but at a better time than right after a hackathon
and before release.
ok guenther@
|
|
|
|
|
|
The reason being that ext2 structures are little-endian but JBD2 journal
is big-endian. Don't confuse readers by talking about "file system endian".
Some KNF while there.
ok guenther
|
|
|
|
Tested on amd64 with > 4GB files and 50,000 subdirectories.
From FreeBSD, thanks!
ok deraadt guenther
|
|
after discussions with beck deraadt kettenis.
|
|
|
|
ok tedu
|
|
ok tedu
|
|
Function renames for consistency and readability. No functional change.
|
|
|
|
|
|
|
|
ok pelikan@
|
|
ok guenther
|
|
ok guenther
|
|
|
|
|
|
ok guenther
|
|
Parts of the on-disk inode changed their meaning in order to support bigger
sizes. More flags & prettification. No functional change.
ok guenther
|
|
don't need to be married.
ok guenther miod beck jsing kettenis
|
|
a filesystem. fs_nspf and its derivitives like fs_spc are DEV_BSIZE
values, not actual hardware disk sector values. Adjust initializations
accordingly.
Tweak header and man page comments to make the DEV_BSIZE'ness more
obvious for future spelunkers.
No-op for DEV_BSIZE (a.k.a. 512-byte) sector devices but should help
checking filesystems on, e.g., 4k-byte sector devices.
ok jmc@ on the man page tweaks.
|
|
|
|
boolean, not a MNT_* flag.
ok beck@
|
|
|
|
lounge after n2k14.
Prototype patch from zhuk@
ok zhuk@ krw@ tedu@
|
|
that probably crashed espie.
ok tedu@
|
|
noticed by pedro@ in bitrig.
ok philip@ millert@
|
|
on the written buffers. Use the flag for writes from the page daemon to
ensure that we free buffers written out by the page daemon rather than
caching them.
ok kettenis@
|
|
struct ucred; struct process then directly links to the ucred
Based on a discussion at c2k10 or so before noting that FreeBSD and
NetBSD did this too.
ok matthew@
|
|
--
Sync timestamp changes for inodes of special files to disk as late
as possible (when the inode is reclaimed). Temporarily only do
this if option UFS_LAZYMOD configured and softupdates aren't enabled.
UFS_LAZYMOD is intentionally left out of /sys/conf/options.
This is mainly to avoid almost useless disk i/o on battery powered
machines. It's silly to write to disk (on the next sync or when the
inode becomes inactive) just because someone hit a key or something
wrote to the screen or /dev/null.
--
Made lazy syncing of timestamps for special files non-optional.
--
Also, include support in 'pstat -v' to display the IN_LAZYMOD flag.
ok tedu@ millert@
|
|
|
|
|
|
atime/mtime/ctime need to be updated weren't already set. When
they are, the code will end up treating the VNOVAL value from the
VFS layer as a time_t. Port the fix from FreeBSD: the critical bit
is to process the existing flag values before possibly setting them
again in ufs_setattr(). This diff pulls in a larger change from
FreeBSD to replace the macro ITIMES() with a function ufs_itimes()
and to remove the atime and mtime arguments from ffs_update(): only
ufs_setattr() used them so it makes more sense to just do the those
bits directly there.
tweaks and ok tedu@ matthew@
|
|
|
|
|
|
use TAILQ_*_SAFE more than might be needed.
Bulk ports build by sthen@ showed nobody sticking their fingers
so deep into the kernel.
Feedback and suggestions from millert@. ok jsing@
|
|
the read buffer before trying to process it, so that invalidated
or bogus offsets can't trigger access past the end of the read buffer.
Also, zero out the dirent buffer to avoid leaking stack garbage to userspace.
Problem pointed out by Pedro Martelletto (pedro (at) ambientworks.net)
ok deraadt@
|
|
(a.k.a. 512-bytes) as far as ffs is concerned.
|
|
for defines fragnum, fsbtodb, cgsblock, and cgdmin.
|
|
(u_int64_t) instead of (daddr_t) when casting a variable in an
expression passed to DL_SETDSIZE().
Change a variable counting open files from daddr_t to int64_t.
ok deraadt@ with the tweak to fix that pesky expression.
|
|
variables. Some random whitespace/knf repairs encountered on the way.
ok miod@ on inspection, feedback & more suggestions from millert@
|
|
ufs_readdir() to match
|
|
by using size_t/ssize_t instead of int/u_int to handle I/O lengths in
uiomove(), vn_fsizechk(), and ktrgenio(). Eliminate the always-zero
'error' argument to ktrgenio() at the same time.
|
|
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.
Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.
DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.
Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@
|
|
ok miod@.
|