summaryrefslogtreecommitdiff
path: root/sys/ufs
AgeCommit message (Collapse)Author
2007-02-26Don't enforce RLIMIT_FSIZE on vnd(4) I/O operations, okay deraadt@Pedro Martelletto
2007-02-17do not look for sblock at offset 0; pedro@ deraadt@ okMichael Shalayeff
2007-02-14Consistently spell FALLTHROUGH to appease lint.Jonathan Gray
ok kettenis@ cloder@ tom@ henning@
2007-02-07grammar fix; from bret lambertJason McIntyre
2007-02-04Correctly fake dinode for the FFS2 case in handle_workitem_freeblocks()Pedro Martelletto
Okay millert@
2007-01-26remove ancient device-specific trick from ffs1_blkpref()Pedro Martelletto
okay toby@ millert@
2007-01-17"correctly deallocate dependencies when growing into an indirect blockNikolay Sturm
and failing to acquire a data block, from freebsd" fix this in ffs2_balloc() as well requested by and ok pedro
2007-01-17more ufs2 leftoversPedro Martelletto
2007-01-16correctly initialise unwindidx in ffs2_balloc()Nikolay Sturm
ok pedro
2007-01-16Retire VOP_LEASE(); It was a bit for NQNFS and hasThordur I. Bjornsson
effectively been a no-op for quite some time now, without promise for future usage. ok pedro@ Testing by krw@ (earlier diff) and Johan Mson Lindman (tybollt@solace.miun.se)
2007-01-15Fix splbio() in initiate_write_inodeblock_ufs2()Pedro Martelletto
2007-01-15UFS2 -> FFS2Pedro Martelletto
2007-01-14Fix growing of direct blocks in ffs2_balloc()Pedro Martelletto
2007-01-13prettify some panic strings,Thordur I. Bjornsson
s/panic("%s: foo", "func")/panic("func: foo") ok toby@
2007-01-12Also check for 'num < 1' in ffs2_balloc(), no functional changePedro Martelletto
2007-01-11correctly deallocate dependencies when growing into an indirect blockPedro Martelletto
and failing to acquire a data block, from freebsd, okay krw@, mickey@
2007-01-07add some commentsNikolay Sturm
ok pedro
2007-01-07document the unit of sizes in struct fs (bytes or frags)Nikolay Sturm
some 'number' -> '#' ok pedro
2007-01-06stop printing messages when changing space/time optimizations.Ted Unangst
it's not all that important, and mostly seems to just scare people. ok pedro henning thib ... also remove dumb casts.
2006-12-29Avoid void * arithmetic, okay deraadt@, suggestions from millert@Pedro Martelletto
2006-12-28Zap nextgennumber, unused since LFS went up into the attic.Thordur I. Bjornsson
ok pedro@
2006-11-17There is no need to set IN_CHANGE or IN_UPDATE when no on-disk data isPedro Martelletto
being touched, fixes PR 3634, okay mickey@, thib@ and beck@.
2006-11-07a fix derived from freebsd 1.196 revision.Michael Shalayeff
due to ffs_sync not be able to sync some buffers here is another instance of softdep code that must ensure proper syncing. try harder to flush MKDIR_BODY dependancy if such still exists during pagedep flush (that is by syncing first block of the dir). pedro@ ok
2006-10-29LFS and FFS shared the same read and write vnops, throughThordur I. Bjornsson
the macro games in ufs_readwrite.c (LFS_READWRITE) now that LFS has gone, make these functions ffs specific and move them into ffs/ffs_vnops.c zapping ufs_readwrite.c in the process. Also, remove lfs fields from the inode and ufsmount structs. ok toby@,deraadt@,pedro@ testing and ok krw@
2006-10-20from freebsd rev1.128:Michael Shalayeff
If an error occurs while writing a buffer, then the data will not have hit the disk and the dependencies cannot be unrolled. In this case, the system will mark the buffer as dirty again so that the write can be retried in the future. When the write succeeds or the system gives up on the buffer and marks it as invalid (B_INVAL), the dependencies will be cleared. pedro@ ok
2006-10-20brelse() after failed bread(), from Christoph Egger, okay mickey@Pedro Martelletto
2006-10-19one more missing brelse() on bread() error; pedro@ okMichael Shalayeff
2006-10-16Fix some more "is is"s. ok otto@.Tom Cosgrove
2006-10-16Use daddr64_t for logical blocks, okay krw@ thib@ mickey@Pedro Martelletto
2006-10-03Introduce daddr64_t and use it for physical block numbersPedro Martelletto
Okay weingart@, "I'm game with putting my name on it" dlg@
2006-09-30simply getdirtybuf to take a plain buf* as there is no need otherwise; no ↵Michael Shalayeff
functional change; pedro@ ok
2006-09-26accidental extra %s in ddb printfMichael Shalayeff
2006-09-26fix races w/ getdirtybuf() usage that can violate normalMichael Shalayeff
softdep processing and temporarily create inconsistant on-disk ffs state and as well abuse kmem. pedro@ deraadt@ ok; tested by many
2006-09-24Zap LFS, okay deraadt@Pedro Martelletto
2006-09-20Use void * where void * is meant, spotted by tedu@Pedro Martelletto
No binary change
2006-09-20Replace a bzero() by a loop in ffs_indirtrunc(), making the code FFS2Pedro Martelletto
compatible, adapted from FreeBSD, okay krw@
2006-08-07Revert last commitPedro Martelletto
2006-08-06obey the locking disaplince wrt to VOP_CLOSE during umountsThordur I. Bjornsson
and mount error paths. ok sturm@ pedro@
2006-07-27missing \n in ddb printfMichael Shalayeff
2006-07-18Swap inode's associated device number on big-endian architectures whenPedro Martelletto
calling checkalias(), Daniel Junglas <dju@sysgo.com>, thanks.
2006-07-11add mount/vnode/buf and softdep printing commands; tested on a few archs and ↵Michael Shalayeff
will make pedro happy too (;
2006-06-28from freebsd 1.179:Michael Shalayeff
When the softupdates worklist gets too long, threads that attempt to add more work are forced to process two worklist items first. However, processing an item may generate additional work, causing the unlucky thread to recursively process the worklist. Add a per-thread flag to detect this situation and avoid the recursion. This should fix the stack overflows that could occur while removing large directory trees. pedro@ tedu@ ok
2006-06-25rename vfs_busy() flags VB_UMIGNORE/VB_UMWAIT to VB_NOWAIT/VB_WAITNikolay Sturm
requested by and ok pedro
2006-06-21propagate the wait flag from fsync down to softdep_fsync_mountdev()Michael Shalayeff
and do not perform synchronous sync there is no wait requested by skipping the drain_output() call. this fixes a problem where update kthread would sleep forever on some vnode since work is created faster than it can be flushed. pedro@ ok; tested by many
2006-06-21do not wait in pool_get() here as we can recover from no memory; tedu@ ↵Michael Shalayeff
pedro@ ok; tested by many
2006-06-19Shave 900 bytes off ramdisk kernels (before compression) by not includingMiod Vallat
the softdep stubs which get optimized out when DOINGSOFTDEP evaluates to zero at compile time and thus are never ever invoked; ok deraadt@
2006-06-18Under certain circumstances, ext2fs_inactive() can be called without aPedro Martelletto
backing dinode, in which case we just want to recycle the vnode. Fixes a crash reported by reyk@, okay krw@, mickey@ and pat@.
2006-06-17Refuse to mount a ffs fielsystems whose number of frags is not 1, 2, 4 or 8,Miod Vallat
and remove the corresponding panics in low level code. ok pedro@ weingart@
2006-06-14move vfs_busy() to rwlocks and properly hide the locking api from vfsNikolay Sturm
ok tedu, pedro
2006-06-07from freebsd r1.185 (tested by beck@ and krw@; pedro@ ok):Michael Shalayeff
After a rmdir()ed directory has been truncated, force an update of the directory's inode after queuing the dirrem that will decrement the parent directory's link count. This will force the update of the parent directory's actual link to actually be scheduled. Without this change the parent directory's actual link count would not be updated until ufs_inactive() cleared the inode of the newly removed directory, which might be deferred indefinitely. ufs_inactive() will not be called as long as any process holds a reference to the removed directory, and ufs_inactive() will not clear the inode if the link count is non-zero, which could be the result of an earlier system crash. If a background fsck is run before the update of the parent directory's actual link count has been performed, or at least scheduled by putting the dirrem on the leaf directory's inodedep id_bufwait list, fsck will corrupt the file system by decrementing the parent directory's effective link count, which was previously correct because it already took the removal of the leaf directory into account, and setting the actual link count to the same value as the effective link count after the dangling, removed, leaf directory has been removed. This happens because fsck acts based on the actual link count, which will be too high when fsck creates the file system snapshot that it references. This change has the fortunate side effect of more quickly cleaning up the large number dirrem structures that linger for an extended time after the removal of a large directory tree. It also fixes a potential problem with the shutdown of the syncer thread timing out if the system is rebooted immediately after removing a large directory tree.