Age | Commit message (Collapse) | Author | |
---|---|---|---|
2006-06-07 | from 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-30 | do not deref a ptr before NULL check; pedro@ ok | Michael Shalayeff | |
2006-05-20 | Don't mark a mount point read-only if we are about to sync it, otherwise | Pedro Martelletto | |
stuff that relies on ffs_update() to flush an inode will fail. Fixes PR 4997, okay tedu@ | |||
2006-04-30 | remove the simplelock argument from vfs_busy() which is currently not | Nikolay Sturm | |
used and will never be used this way in VFS requested by and ok pedro, ok krw, biorn | |||
2006-04-29 | no need for using rwlocks in dirhash. i was confused about the purpose | Ted 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-19 | Remove unused mount list simple_lock() goo | Pedro Martelletto | |
2006-04-12 | revert the new superblock format. it violates the rule that new | Ted 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-07 | Add and use ffs_validate(), a function for sanity checking super blocks | Pedro Martelletto | |
2006-04-05 | Teach ffs_update() how to update FFS2 inodes | Pedro Martelletto | |
2006-04-05 | Make ffs_truncate() compatible with FFS2, from FreeBSD | Pedro Martelletto | |
2006-04-04 | Fix a comment | Pedro Martelletto | |
2006-04-02 | There's no need for some comments to be so utterly cryptic | Pedro Martelletto | |
2006-04-02 | Two 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-02 | Cope with FFS2's lazy inode allocation policy, adapted from FreeBSD | Pedro Martelletto | |
2006-04-02 | Set cg_ffs2_time whenever cg_time is set | Pedro Martelletto | |
2006-04-02 | In the cylinder groups, use part of the reserved space to sprinkle a | Pedro Martelletto | |
couple of new fields needed by FFS2, no functional change. | |||
2006-04-01 | Don't do cylinder group block accounting for FFS2 | Pedro Martelletto | |
2006-04-01 | Mark FFS2 file systems with UM_UFS2 | Pedro Martelletto | |
2006-04-01 | Correctly map blocks for FFS2 in ufs_bmaparray() | Pedro Martelletto | |
2006-03-31 | FFS2 dinode pool needs to be defined here too | Pedro Martelletto | |
2006-03-31 | Make ffs_statfs() tag FFS2 file systems as such | Pedro Martelletto | |
2006-03-31 | ffs_statfs() should not panic on FFS2 file systems | Pedro Martelletto | |
2006-03-31 | Teach ffs_vget() to allocate and associate FFS2 dinodes | Pedro Martelletto | |
2006-03-31 | Teach ffs_reclaim() to put FFS2 dinodes back into their pool | Pedro Martelletto | |
2006-03-31 | Add a pool for FFS2 dinodes | Pedro Martelletto | |
2006-03-31 | Super block changes for FFS2, thanks to all who tested. | Pedro Martelletto | |
Silent okay after almost 3 weeks, hackers@. | |||
2006-03-28 | ANSIfy and deregister, no binary change. | Pedro Martelletto | |
From: Thordur I. Bjornsson <thib@mi.is> | |||
2006-03-22 | Fix comment about MINFREE, from Thordur I. Bjornsson <thib@mi.is> | Pedro Martelletto | |
2006-03-11 | No need to check for !doreallocblks in ffs1_reallocblks() anymore | Pedro Martelletto | |
2006-03-11 | Add UFS2 block allocation functions, okay tedu@. | Pedro Martelletto | |
Thanks to all those who tested. | |||
2006-03-09 | Remove 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-09 | Better handling of ancient file systems that still have 4.2 BSD | Pedro Martelletto | |
rotational layout tables. Okay krw@ | |||
2006-03-05 | Use more queue macros rather than doing it by hand; ok otto@ krw@ | Miod Vallat | |
2006-03-05 | Simplify ffs_alloccgblk() a lot by not caring about allocating | Pedro 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-14 | if 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-20 | b_un.b_addr -> b_data; no functional change. | Miod Vallat | |
2006-01-09 | Put 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-03 | Add UFS2 softdep bits, okay tedu@ | Pedro Martelletto | |
2006-01-03 | Fix UFS2 detection by looking for the super-block at every possible | Pedro Martelletto | |
location, testing krw@ and moritz@, thanks. | |||
2005-12-28 | Use the DIP macros to uniformly access fields from UFS1 and UFS2 dinodes. | Pedro Martelletto | |
No functional change, okay tedu@. | |||
2005-12-19 | Add and use a few more constants and macros needed by UFS2 | Pedro Martelletto | |
No functional change | |||
2005-12-17 | Remove the 'on disk' inode (dinode) from the 'in memory' inode in UFS. | Pedro Martelletto | |
Instead of having the dinode inside the inode structure itself, we now have just a pointer to it, and use a separate pool to allocate dinodes as needed. Inspiration from FreeBSD, various testing for a while, thanks. | |||
2005-12-16 | Fix unsigned < 0 check in ext2fs_readdir(), okay krw@ | Pedro Martelletto | |
2005-12-16 | Fix unsigned < 0 check in ufs_readdir(), okay krw@ | Pedro Martelletto | |
2005-12-15 | A sanity check for an unsigned variable being < 0 after a subtraction | Kenneth R Westerback | |
is not useful. Check the value about to be subtracted. Spotted by lint. ok pedro@ | |||
2005-12-14 | typo | Pedro Martelletto | |
2005-12-14 | Make ext2fs use a memory pool to allocate inodes, okay tedu@ | Pedro Martelletto | |
2005-12-11 | Use e2fs_sbsave() instead of bcopy() when dumping the super-block back | Pedro Martelletto | |
to disk, fixes ext2fs on big-endian architectures | |||
2005-12-11 | inode/dinode separation for ext2fs | Pedro Martelletto | |