Age | Commit message (Collapse) | Author |
|
FreeBSD did this years ago in revision 126086 as pointed out by
John-Mark Gurney on tech. Merge it and sync two occurrences.
ok krw@
|
|
* fix bug preventing sync after more than one rw -> ro cycle.
* sync data and not only metadata
ok guenther@
|
|
|
|
|
|
12/31/2107. 64-bit time_t now dominates that entire range, so simply
set all dates that cannot be represented to 1/1/1980 like Redmond
intended.
Problem reported by Alessandro De Laurenzis via misc@.
ok guenther@
|
|
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@
|
|
ok mikeb@ espie@
|
|
in the padding or trailing name bytes.
ok beck@ millert@ espie@
|
|
- despite the name, ntohl returns uint32_t, not long
- also fix some %d into %u
|
|
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@
|
|
test period; i think 3 years ago the last bugs fell out.
ok otto beck others
|
|
okay tedu@
|
|
the special provided when the mount was requested. This may be the same as
the special that was actually used for the mount (e.g. in the case of a
device node) or it may be different (e.g. in the case of a DUID).
Whilst here, change f_ctime to a 64 bit type and remove the pointless
f_spare members.
Compatibility goo courtesy of guenther@
ok krw@ millert@
|
|
msdos, NFS, fifos and devices, plus support for querying it in
getconf(2) and the requisite pathconf(2) manpage blurb
ok tedu@
|
|
_PC_PRIO_IO, and _PC_SYNC_IO names in VOP_PATHCONF(), as they're
fs-independent for us. Since we don't support latter three on any
fs, we can also define the related _POSIX_{ASYNC,PRIO,SYNC}_IO
symbols in <unistd.h> (via sys/unistd.h) with value -1.
Also, zap pointless tty-only values from procfs(!).
ok beck@, deraadt@
|
|
attributes; making it more "user-friendly". Mostly from FreeBSD.
OK guenther@, krw@.
|
|
- Avoid using copyinstr() without checking the return value.
- sys_mount() has already copied the path in, so pass this to the
filesystem mount code so that it does not have to copy it in again.
- Avoid copyinstr()/bzero() dance when we can simply bzero() and strlcpy().
ok krw@
|
|
using "%.11s" to print them out. Make all dos file names 11 byte
arrays and nuke the attempt to put '\0' at the 12th position of
such an array.
Fixes 'panic: smashed stack in msdosfs_rename.c' reported by
MERHIGI Marcus via tech@.
Tested by MERHIGI Marcus. Suggestions and ok tedu@.
|
|
rlimit, then a write that would take it over the limit should be
clamped, making it a partial write.
ok beck@
|
|
to diff against FreeBSD's.
From Brad; no object file change on amd64.
|
|
caching the last cluster in the file before extending it considerably
speeds up further lookups. As a consequence this keeps write speed from
gradually decreasing and provides a measurable (up to 2x) performance
increase. Prompted by the diff from Alexander Polakov, ok miod, krw.
|
|
monitoring fs mounts happy
tested by ajacoutot@ and ok by thib@, krw@
|
|
|
|
|
|
and return EOPNOTSUPP directly from the VOP_* functions.
Filesystems should, at some point fill in every function
in the vop_default struct so we can get rid of the 'if'
statements in VOP_*.
|
|
unrelated, and his alpha is much happier now.
OK deraadt@
|
|
|
|
|
|
/* something */
if (error) {
VOP_UNLOCK();
return;
}
VOP_UNLOCK();
to the clearer and shorter:
VOP_UNLOCK();
if (error)
return;
ok thib@, jsing@ as part of a larger diff.
|
|
have been resolved.
|
|
OK oga@, beck@, matthew@
|
|
vector setup that has questionable features (that have, as far as I can
tell never been used in practice, atleast not in OpenBSD), remove all
the gunk and favor a simple struct full of function pointers that get
set directly by each of the filesystems.
Removes gobs of ugly code and makes things simpler by a magnitude.
The only downside of this is that we loose the vnoperate feature so
the spec/fifo operations of the filesystems need to be kept in sync
with specfs and fifofs, this is no big deal as the API it self is pretty
static.
Many thanks to armani@ who pulled an earlier version of this diff to
current after c2k10 and Gabriel Kihlman on tech@ for testing.
Liked by many. "come on, find your balls" deraadt@.
|
|
so that libkvm doesn't need to define that, thereby avoiding some warnings.
ok miod@
|
|
direntry deName[8]/deExtension[3] buffers separately rather than in one
11 byte copy. Makes gcc4 -Wbounded happy.
ok krw
|
|
Feedback from miod@ and kettenis@.
ok beck@
|
|
at least until problem (starting somewhere between 4.1 and 4.2)
in buffer cache is found and a general fix is in place. Simply
B_INVAL small buf so it doesn't come back.
Addresses PR#6290, confirmed by submitter RD Thrush.
ok tedu@ "should be marked XXX" thib@
|
|
Found by LLVM/Clang Static Analyzer.
ok tedu@ krw@
|
|
locking fixes. Tweak cd9660 code to be the same as everywhere else,
no functional change.
ok beck@
|
|
miod@ deraadt@ ok.
|
|
ok krw@
|
|
ok thibski@
|
|
"fine" thib@
|
|
prodded by and ok thib@
agreed by art@ and blambert@
|
|
"do it" thib@
|
|
making directory moves work... discussed w. & makes sense - millert@
|
|
which is exactly what the macro does.
Macro's that are nothing more then:
#define FUNCTION(arg) function(arg)
are almost always pointless and should go away.
OK blambert@
Agreed by many.
|
|
it. So leave it untouched. Similiar to but more ruthless than the
fixes FreeBSD did, since they do use the value. Basically avoid
various off-by-one and off-by-many errors.
Fixes problems encountered by jsg@ and deraadt@ where filesystems
found on SDHC cards caused UVM faults.
Original fixes found by jsg@. ok jsg@.
|
|
the superuser. access(2) will now only indicate success for X_OK on
non-directories if there is at least one execute bit set on the file.
OK deraadt@ thib@ otto@
|
|
with eopnotsupp() instead;
ok blambert@
|