summaryrefslogtreecommitdiff
path: root/sys/ufs/ffs
AgeCommit message (Collapse)Author
2004-12-09When removing the last item from a non-empty worklist, the worklistTodd C. Miller
tail pointer must be updated; from FreeBSD (mckusick). Appears to fix problems I was seeing with processes stuck with WCHAN=inode in rev 1.50. OK pedro@ and tedu@.
2004-12-08Move a FREE_LOCK until after a potential continue so we don't tryTodd C. Miller
to free the lock twice. Doesn't actually make any difference for us (no .o file diff) since the code block that contains the continue is currently commented out but it makes sense to fix this now so if/when that code is enabled we don't get bitten. From FreeBSD, ok pedro@.
2004-12-07backout missed by tedu:Theo de Raadt
prev softdep merge could lead to inode wait deadlock for unknown reasons. revert.
2004-12-07prev softdep merge could lead to inode wait deadlock for unknown reasons.Ted Unangst
revert.
2004-11-29Spell precede correctly.Jonathan Gray
'looks fine' millert@, krw@. ok jmc@
2004-11-01englishPedro Martelletto
2004-10-25don't assume a block is allocated if bread() or cg_chkmagic() fails.Pedro Martelletto
ok marius@ tedu@
2004-09-18hierarchy is spelled hierarchy, from Jonathan GrayTed Unangst
2004-08-12Prevent a panic by validating the super block size as recorded in theOtto Moerbeek
superblock; make the block size check also catch negative values. ok miller@ tedu@
2004-07-14trailing '\n' in printf, ok deraadt@Pedro Martelletto
2004-07-13Change mode_t and nlink_t from 16bit to 32bit. This allows us toTodd C. Miller
use mode_t in syscalls.master and to use mode_t in more places in the kernel. It also makes lint much more useful on kernel code. I've also added a placeholder for st_birthtime to make a UFS2 import easier at some future date. Requested by and OK deraadt@
2004-07-02printf inode numer as unsigned -- just the way it isMichael Shalayeff
2004-06-24This moves access to wall and uptime variables in MI code,Thorsten Lockert
encapsulating all such access into wall-defined functions that makes sure locking is done as needed. It also cleans up some uses of wall time vs. uptime some places, but there is sure to be more of these needed as well, particularily in MD code. Also, many current calls to microtime() should probably be changed to getmicrotime(), or to the {,get}microuptime() versions. ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others "Oh, that is not your problem!" from miod@
2004-06-21First step towards more sane time handling in the kernel -- this changesThorsten Lockert
things such that code that only need a second-resolution uptime or wall time, and used to get that from time.tv_secs or mono_time.tv_secs now get this from separate time_t globals time_second and time_uptime. ok art@ niklas@ nordin@
2004-06-04rootvp is already externed in systm.h, no need for a local externTed Unangst
2004-05-07fatty softdep merge with freebsd. fixes a variety of possible issues.Ted Unangst
relevant changes to ffs_softdep.c were 1.95, 1.96, 1.97, 1.98, 1.103, and 1.107 in freebsd. testing marc and otto. ok deraadt
2004-03-02silly fifos aren't a real fs, so we have to be sure to call reclaimTed Unangst
in the host fs.
2004-01-25vref device vnodes early, so we don't get mismatched vrele calls.Ted Unangst
problem found, fix tested naddy@
2004-01-20some pieces of ufs2. help testing otto sturmTed Unangst
2004-01-07sysctls for dirhash variables. with a hint from miod. ok deraadtTed Unangst
2003-11-19undo boolshit unapproved changes the author does not even care about to fixMichael Shalayeff
2003-11-19MALLOC is not meant for variable size allocationsTed Unangst
2003-10-17Be sure i_ffs_gen is always positive.Mike Pechkin
millert@, beck@, tedu@, deraadt@ ok
2003-10-04vrele swap and/or root vnode should we fail during mountroot; found by ↵Michael Shalayeff
mpech@ and tedu@ ok
2003-09-23Replace select backends with poll backends. selscan() and pollscan()Todd C. Miller
now call the poll backend. With this change we implement greater poll(2) functionality instead of emulating it via the select backend. Adapted from NetBSD and including some changes from FreeBSD. Tested by many, deraadt@ OK
2003-08-26constify ffs_tablesMichael Shalayeff
2003-08-25rename struct dinode to ufs1_dinode. clears the namespace and makesTed Unangst
way for some future work. no function changes yet. few other little cleanups. help testing otto@ and markus@
2003-08-14constify vfsops; tedu@ okMichael Shalayeff
2003-08-02newline at end of printfTed Unangst
2003-07-10in statfs, cast disk size to int64_t to prevent overflow on large disks.Ted Unangst
from Peter Galbavy
2003-06-26add prototypes for userland code that reaches over. ok deraadt@Ted Unangst
2003-06-10o make mount(2) return EROFS, not EPERM if ffs is dirtyTodd C. Miller
o document EROFS in man page (2 possible causes) o recognize EROFS in mount_ffs and try to give a reasonable error message deraadt@ OK
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-05-26fiddle with some type names. change most instances of ufs_daddr_t toTed Unangst
ufs1_daddr_t, a few to daddr_t. ufs_daddr_t typedef is retained, but consider it deprecated. no functional changes. inspired by freebsd. ok art@
2003-05-14remove the last of the MI commonsJason Wright
2002-11-08Implement simple vnodeop inheritance for specfs and fifofs.Artur Grabowski
The inheritace is implemented by setting the default vnodeop to a bypass op that repeats the operation on the spec/fifo vnodeop vector. The overhead of one extra indirect function call is worth the cleanup and improved correctness. This actually solves a few bugs where some vnode ops were missing from some vectors (like kqfilter or revoke). (and even more on the ubc branch). Inspired by the same thing done in FreeBSD.
2002-10-12Remove more '\n's from panic() statements. Both trailing and leading.Kenneth R Westerback
Diff generated by Chris Kuethe.
2002-08-01Limit max file size based on PAGE_SIZE. Even though ffs can handleTodd C. Miller
files up to 16TB, we do limit the max file to 2^31 pages to prevent overflow of a 32-bit unsigned int. The buffer cache has its own checks but a little added paranoia never hurts. Adapted from a patch in FreeBSD.
2002-07-16Fix typo which prevents diagnostic test from working; enami@netbsd.orgTodd C. Miller
Fix two problems with softdep_typenames (missing entry, wrong boundary check); wiz@netbsd.org art@ OK
2002-07-12Change the locking on the mountpoint slightly. Instead of using mnt_lockArtur Grabowski
to get shared locks for lookup and get the exclusive lock only with LK_DRAIN on unmount and do the real exclusive locking with flags in mnt_flags, we now use shared locks for lookup and an exclusive lock for unmount. This is accomplished by slightly changing the semantics of vfs_busy. Old vfs_busy behavior: - with LK_NOWAIT set in flags, a shared lock was obtained if the mountpoint wasn't being unmounted, otherwise we just returned an error. - with no flags, a shared lock was obtained if the mountpoint was being unmounted, otherwise we slept until the unmount was done and returned an error. LK_NOWAIT was used for sync(2) and some statistics code where it isn't really critical that we get the correct results. 0 was used in fchdir and lookup where it's critical that we get the right directory vnode for the filesystem root. After this change vfs_busy keeps the same behavior for no flags and LK_NOWAIT. But if some other flags are passed into it, they are passed directly into lockmgr (actually LK_SLEEPFAIL is always added to those flags because if we sleep for the lock, that means someone was holding the exclusive lock and the exclusive lock is only held when the filesystem is being unmounted. More changes: dounmount must now be called with the exclusive lock held. (before this the caller was supposed to hold the vfs_busy lock, but that wasn't always true). Zap some (now) unused mount flags. And the highlight of this change: Add some vfs_busy calls to match some vfs_unbusy calls, especially in sys_mount. (lockmgr doesn't detect the case where we release a lock noone holds (it will do that soon)). If you've seen hangs on reboot with mfs this should solve it (I repeat this for the fourth time now, but this time I spent two months fixing and redesigning this and reading the code so this time I must have gotten this right).
2002-06-23uid_t and gid_t are unsignedTheo de Raadt
2002-06-08Remove this horror DIAGNOSTIC define. It was just ugly when itArtur Grabowski
was introduced, but now it causes crashes when kernels are built without DIAGNOSTIC. Instead of trying to debug this incorrect code, I'm just removing this abomination.
2002-06-08Let this build when the internal DIAGNOSTIC define is removed.Artur Grabowski
2002-04-23In mount.h, rename field export -> export_info, to avoid collision with C++.Marc Espie
Synch files that use that field. (This argument is an internal interface specific to OpenBSD, so it won't cause compatibility problems.) (No bump, not an ABI change). ok art, millert...
2002-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-22Extended Attribute support from FreeBSD/TrustedBSD ok art@, deraadt@Dale Rahn
2002-01-29process the delayed-free queue more often; chs@netbsd.orgTodd C. Miller
2002-01-25Move softdep sysctls from debug to vfs.ffs; art@ OKTodd C. Miller
2002-01-24sigh, nobody compiles before commit anymoreMichael Shalayeff