summaryrefslogtreecommitdiff
path: root/sys/ufs/ext2fs
AgeCommit message (Collapse)Author
2015-04-17Tweaks utimensat/futimens handling to always update ctime, even when bothPhilip Guenther
atime and mtime are UTIME_OMIT (at least for ufs, tmpfs, and ext2fs), and to correctly handle a timestamp of -1. ok millert@
2015-03-14Remove some includes include-what-you-use claims don'tJonathan Gray
have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
2015-02-10First step towards making uiomove() take a size_t size argument:Miod Vallat
- rename uiomove() to uiomovei() and update all its users. - introduce uiomove(), which is similar to uiomovei() but with a size_t. - rewrite uiomovei() as an uiomove() wrapper. ok kettenis@
2015-01-11Casting a gid_t to gid_t for a gid_t argument is overkillPhilip Guenther
2014-12-29Explicitely include <uvm/uvm_extern.h> in order to build on variable page sizeMiod Vallat
architectures.
2014-12-23change pool_init allocator to NULL and pass PR_WAITOK in flags as a signTed Unangst
that these don't need to support interrupts
2014-12-19Use <sys/endian.h> instead of <machine/endian.h>Philip Guenther
ok dlg@ mpi@ bcook@ millert@ miod@
2014-11-03include sys/unistd.h where needed instead of indirect reliance. ok jsgTed Unangst
2014-09-14remove uneeded proc.h includesJonathan Gray
ok mpi@ kspillner@
2014-07-31always use the little-endian copy of a superblock.Martin Pelikan
Damn those memcpy-wrapping macros! "do it" deraadt
2014-07-31use proper on-disk inode size: no more, no less.Martin Pelikan
Reported by Roman Yakovlev, thanks! "do it now" deraadt
2014-07-14better type safety and KNF.Martin Pelikan
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
2014-07-13kill fs2hXX/h2fsXX macros with letohXX/htoleXXMartin Pelikan
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
2014-07-13fill in proper sizes in free(9)Martin Pelikan
2014-07-13ext4 (extents) read supportMartin Pelikan
Tested on amd64 with > 4GB files and 50,000 subdirectories. From FreeBSD, thanks! ok deraadt guenther
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2014-07-12fix a type error on BE architecturesMartin Pelikan
2014-07-12in-memory superblock was being filled in two places -> merge themMartin Pelikan
ok tedu
2014-07-12pull dirblock search code from ext2fs_lookup() like FreeBSD has doneMartin Pelikan
ok tedu
2014-07-12print more useful information on wrong superblocks.Martin Pelikan
Function renames for consistency and readability. No functional change.
2014-07-12revert previous unwanted commit. sorry!Martin Pelikan
2014-07-12*** empty log message ***Martin Pelikan
2014-07-11new dinode format for big-endian conversion routinesMartin Pelikan
2014-07-11Prevent division by zero on erroneous file systems.Tobias Stoeckmann
ok pelikan@
2014-07-11split ext2fs_read for the upcoming ext4 extent bits, like FreeBSD has doneMartin Pelikan
ok guenther
2014-07-11determine and use maximum file size instead of magical constantsMartin Pelikan
ok guenther
2014-07-11sizeof good old inode is 128, the structure has expandedMartin Pelikan
2014-07-11updated inode format, whitespace, re-formattingMartin Pelikan
2014-07-11separate searchslot variables into a structure like FreeBSDMartin Pelikan
ok guenther
2014-07-10prepare for upcoming ext4 read supportMartin Pelikan
Parts of the on-disk inode changed their meaning in order to support bigger sizes. More flags & prettification. No functional change. ok guenther
2014-07-08decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.hTheo de Raadt
don't need to be married. ok guenther miod beck jsing kettenis
2014-05-27Zap a bunch of trailing whitespace.Kenneth R Westerback
2014-05-09disable IO_NOCACHE B_NOCACHE conversion until it works.Ted Unangst
2014-04-08add IO_NOCACHE flag to vop_write arguments, which in turn sets B_NOCACHEBob Beck
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@
2014-01-25ufs_setattr() was assuming that the flag bits that indicatePhilip Guenther
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@
2013-12-12replace old bcopy/bzero with standard functions. ok kettenisTed Unangst
2013-12-01Change 'mountlist' from CIRCLEQ to TAILQ. Be paranoid andKenneth R Westerback
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@
2013-11-02No need to cast constants or simple variables to (daddr_t). UseKenneth R Westerback
(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.
2013-11-01Sprinkle (long long) casts where %lld is being used to print daddr_tKenneth R Westerback
variables. Some random whitespace/knf repairs encountered on the way. ok miod@ on inspection, feedback & more suggestions from millert@
2013-09-14Correct the handling of I/O of >=2^32 bytes and the ktracing there ofPhilip Guenther
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.
2013-08-13Switch time_t, ino_t, clock_t, and struct kevent's ident and dataPhilip Guenther
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@
2013-06-11final removal of daddr64_t. daddr_t has been 64 bit for a long enoughTheo de Raadt
test period; i think 3 years ago the last bugs fell out. ok otto beck others
2013-06-02TypoPhilip Guenther
2013-05-30UFS does't do inode numbers >2^32, so use a smaller type internally,Philip Guenther
only using ino_t in the VFS layer APIs: vget, readdir, getattr. otto wrote the original diff for libsa to keep bootblock from overflowing ok deraadt@ kettenis@
2013-04-15Add an f_mntfromspec member to struct statfs, which specifies the name ofJoel Sing
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@
2013-03-28Add support for _PC_TIMESTAMP_RESOLUTION for ffs/mfs, cd9600, ext2,Philip Guenther
msdos, NFS, fifos and devices, plus support for querying it in getconf(2) and the requisite pathconf(2) manpage blurb ok tedu@
2012-09-10Cleanup VFS mount string handling:Joel Sing
- 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@
2012-07-11If the current offset is strictly less than the process filesizePhilip Guenthe
rlimit, then a write that would take it over the limit should be clamped, making it a partial write. ok beck@
2012-03-23Make rusage totals, itimers, and profile settings per-process insteadPhilip Guenthe
of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
2011-09-18Fix more printf format string bugs in sys/ufs.Alexander Bluhm
ok miod