summaryrefslogtreecommitdiff
path: root/sys/ufs
AgeCommit message (Collapse)Author
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.
2006-05-30do not deref a ptr before NULL check; pedro@ okMichael Shalayeff
2006-05-20Don't mark a mount point read-only if we are about to sync it, otherwisePedro Martelletto
stuff that relies on ffs_update() to flush an inode will fail. Fixes PR 4997, okay tedu@
2006-04-30remove the simplelock argument from vfs_busy() which is currently notNikolay Sturm
used and will never be used this way in VFS requested by and ok pedro, ok krw, biorn
2006-04-29no need for using rwlocks in dirhash. i was confused about the purposeTed Unangst
freebsd's mutexes served here, but they are only for smp protection. the code is careful not to block and needs no rwlocks. ok pedro and an assortment of testers
2006-04-19Remove unused mount list simple_lock() gooPedro Martelletto
2006-04-12revert the new superblock format. it violates the rule that newTed Unangst
kernels and old tools are safe. i'm leaving in the "updated" flag, so that fsck will continue to remove it from filesystems. the kernel no longer attempts to upgrade superblocks and will use the old format. post-mortem discussions have concluded that maybe jamming ffs2 fields into random locations in the superblock is asking for trouble, and we need to talk about this some more. my bad for not thinking fast enough.
2006-04-07Add and use ffs_validate(), a function for sanity checking super blocksPedro Martelletto
2006-04-05Teach ffs_update() how to update FFS2 inodesPedro Martelletto
2006-04-05Make ffs_truncate() compatible with FFS2, from FreeBSDPedro Martelletto
2006-04-04Fix a commentPedro Martelletto
2006-04-02There's no need for some comments to be so utterly crypticPedro Martelletto
2006-04-02Two changes in the FFS2 lazy inode allocation code:Pedro Martelletto
- Insert some comments and space the code to improve readability - Make sure the inode's gen number is always positive (from NetBSD)
2006-04-02Cope with FFS2's lazy inode allocation policy, adapted from FreeBSDPedro Martelletto
2006-04-02Set cg_ffs2_time whenever cg_time is setPedro Martelletto
2006-04-02In the cylinder groups, use part of the reserved space to sprinkle aPedro Martelletto
couple of new fields needed by FFS2, no functional change.
2006-04-01Don't do cylinder group block accounting for FFS2Pedro Martelletto
2006-04-01Mark FFS2 file systems with UM_UFS2Pedro Martelletto
2006-04-01Correctly map blocks for FFS2 in ufs_bmaparray()Pedro Martelletto
2006-03-31FFS2 dinode pool needs to be defined here tooPedro Martelletto
2006-03-31Make ffs_statfs() tag FFS2 file systems as suchPedro Martelletto
2006-03-31ffs_statfs() should not panic on FFS2 file systemsPedro Martelletto
2006-03-31Teach ffs_vget() to allocate and associate FFS2 dinodesPedro Martelletto
2006-03-31Teach ffs_reclaim() to put FFS2 dinodes back into their poolPedro Martelletto
2006-03-31Add a pool for FFS2 dinodesPedro Martelletto
2006-03-31Super block changes for FFS2, thanks to all who tested.Pedro Martelletto
Silent okay after almost 3 weeks, hackers@.
2006-03-28ANSIfy and deregister, no binary change.Pedro Martelletto
From: Thordur I. Bjornsson <thib@mi.is>
2006-03-22Fix comment about MINFREE, from Thordur I. Bjornsson <thib@mi.is>Pedro Martelletto
2006-03-11No need to check for !doreallocblks in ffs1_reallocblks() anymorePedro Martelletto
2006-03-11Add UFS2 block allocation functions, okay tedu@.Pedro Martelletto
Thanks to all those who tested.
2006-03-09Remove option -n from newfs as well as all references to fs_postbl()Pedro Martelletto
Various testing for a while, okay krw@
2006-03-09- Slightly more informative error message (requested by krw@)Pedro Martelletto
- Bring back '&& !ronly' into the conditional, so these ancient file systems can be mounted again read-only (requested by millert@)
2006-03-09Better handling of ancient file systems that still have 4.2 BSDPedro Martelletto
rotational layout tables. Okay krw@
2006-03-05Use more queue macros rather than doing it by hand; ok otto@ krw@Miod Vallat
2006-03-05Simplify ffs_alloccgblk() a lot by not caring about allocatingPedro Martelletto
rotationally optimal blocks. There's no point in doing that anymore. Okay beck@, marco@, tedu@ and krw@. Various testing for a while.
2006-02-14if updating supablock fails w/ EROFS just procede w/ unmount thus allowing ↵Michael Shalayeff
unmounting rw mounts on top of ro devices; pedro@ ok and comments
2006-01-20b_un.b_addr -> b_data; no functional change.Miod Vallat
2006-01-09Put vprint() under DIAGNOSTIC, as to save space in generated ramdisks.Pedro Martelletto
Inspiration from miod@, okay deraadt@. Tested on i386, macppc and amd64.
2006-01-03Add UFS2 softdep bits, okay tedu@Pedro Martelletto
2006-01-03Fix UFS2 detection by looking for the super-block at every possiblePedro Martelletto
location, testing krw@ and moritz@, thanks.