summaryrefslogtreecommitdiff
path: root/sys/ufs
AgeCommit message (Collapse)Author
2007-10-05MALLOC/FREE -> malloc/free + M_ZERO.Thordur I. Bjornsson
As a side effect, this probably fixes PR5596, if the allocation of dh_hash succeeds and the dh_blkfree fails, we jump into the fail case, but we haven't initialized dh_hash properly, that is filling the array with memory from the dirhash pool, but the != NULL check holds, since the memory hasn't been zeroed and so we start pool_put()'ing, causing the crash in PR5596. PR5596 debugging by pedro. ok art@, krw@
2007-10-01Last of the really easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...'Kenneth R Westerback
where obvious.
2007-09-23Move notatime check from ffs_update() to ffs_read() and ufs_setattr().Todd C. Miller
Fixes a couple cases where atime was being updated even when the filesystem was mounted with the noatime option. Adapted from similar placement in FreeBSD and NetBSD. Tested by myself and naddy@
2007-09-10When selecting cylinder groups as candidates for new directory creationThordur I. Bjornsson
make sure that theres a minimum amount of free blocks in that cylinder group by tweaking the minbfree calculation. Without this, cylinder groups with no free blocks could be chosen which resaults in expensive searches for free blocks each time a new file is created in the directory. Tweak the calculation of minifree (minimum free inodes) in the same way. Also decrease the maxcontigdirs as the file system fills up to lessen the chance of directory clusters overflowing the available space in the cylinder group. From FreeBSD (Rev 1.116 of sys/ufs/ffs/ffs_alloc.c); ok miod@
2007-09-10Lock the vnode in ffs_unmount() before passing it too vinvalbuf()Thordur I. Bjornsson
and VOP_CLOSE() since both of them expected it too be locked. ok art@
2007-09-07Use M_ZERO in a few more places to shave bytes from the kernel.Artur Grabowski
eyeballed and ok dlg@
2007-08-04When we're writing out the summary information and fail on some blockArtur Grabowski
we'll just randomly brelse a random block that might or might no have been the block that failed. Which wouldn't be necessary anyway since bwrite releases the block wether the write succeeded or not. And if someone won the race for that block (perfectly possible since we're sleeping in this function) we'll just release a live block under his feet. beck@ ok
2007-08-03Increase dq_cnt in struct dquot from 16 to 32bits. OK deraadt@Todd C. Miller
2007-07-23Since __sparc__ gets defined on sparc64 too, add a !defined (__sparc64__)Mark Kettenis
to the condition that protects CPU_ISSUN4OR4C. While we currently define that macro on sparc64 too, we won't in the near future. ok miod@
2007-07-11Bring back the change in rev 1.70, it is safe now:Todd C. Miller
Propagate the wait flag from fsync down to softdep_fsync_mountdev() 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. OK deraadt@
2007-06-22Update ffs[1/2] time last written for cg's inThordur I. Bjornsson
clusteralloc(); From mickey; ok pedro@
2007-06-22declare "uid" as uid_t instead of u_int, and fix format string accordinglyJasper Lievisse Adriaanse
ok pedro@ thib@
2007-06-20remove an XXX comment;Thordur I. Bjornsson
Basically the reason why we dont do VOP_ABORTOP()'s in NFS is that sys_rename() actually handles the garbage collection of the pathname buffers, the calls in ufs are actually fluff too, but will be delt with later. ok pedro@
2007-06-17ansify/de-register.Jasper Lievisse Adriaanse
no binary change
2007-06-06Don't promote MNT_WAIT to MNT_NOWAIT when syncing the device vnode of aPedro Martelletto
mounted softdep file system, okay mickey@ beck@ art@
2007-06-02ufs1_daddr_t is no more, okay deraadt@Pedro Martelletto
2007-06-02ufs1_daddr_t cleanup, okay thib@ deraadt@Pedro Martelletto
2007-06-01pedro ok'd this ~3500 line diff which removes the vop argumentTheo de Raadt
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
2007-06-01Nuke 'ufs_lbn_t', okay otto@ deraadt@ krw@ beck@Pedro Martelletto
2007-06-01ufs_daddr_t is a dead type. growfs is the only program that uses it, yetTheo de Raadt
it is ffs1-aware only. therefore all the types are on disk, and thus, they are actually int32_t. ok pedro
2007-06-01cleanup of 'ufs1_daddr_t', first round, okay deraadt@Pedro Martelletto
2007-06-01Nuke ufs_time_t, okay beck@ krw@ marco@Pedro Martelletto
2007-06-01and don't forget the other daddr var in the commentOtto Moerbeek
2007-06-01fix struct vop_bmap_args comment. ok deraadt@Otto Moerbeek
2007-06-01revert previous comment "fix", must have been sleepingOtto Moerbeek
2007-06-01fix comment, fs_ipg is inode *blocks* per cylinder groupOtto Moerbeek
2007-06-01convert ufs2_daddr_t -> daddr64_t for greater clarity; ok pedro otto thibTheo de Raadt
2007-05-29when mount -f'ing a dirty filesystem, do not clear the unclean flag,Otto Moerbeek
the fs remains dirty. ok pedro@
2007-05-29FFS2-aware code for ffs_sbupdate() and ffs_reload().Pedro Martelletto
Okay otto@ millert@ krw@ beck@ thib@
2007-05-27use struct csum_total for superblock summary info; ok pedro@Otto Moerbeek
2007-05-26Dynamic buffer cache. Initial diff from mickey@, okay art@ beck@ toby@Pedro Martelletto
deraadt@ dlg@.
2007-05-17Collapse struct v_selectinfo in struct vnode, remove theThordur I. Bjornsson
simplelock and reuse the name for the selinfo member. Clean-up accordingly. ok tedu@,art@
2007-05-09unused function; ok pedroTheo de Raadt
2007-05-03Update CGSIZE macro so that it is no longer based on fs_cpg.Todd C. Miller
This was part of the ffs2 changes but was not committed earlier in order to make the userland and kernel changes independent. NOTE: the change to newfs require an updated fs.h; building an updated newfs with the old fs.h may result in a broken filesystem. OK otto@
2007-04-29enforce -Wdeclaration-after-statement by handTheo de Raadt
2007-04-24Fix mounting of ffs2 via "mount -a". ffs2 is not separate from ffsTodd C. Miller
and should not have its own MOUNT_XXX define.
2007-04-23Remove 'cg_space' from 'struct cg'. Due to the alignment on 64-bitPedro Martelletto
architectures, CGSIZE() was returning something sligthly over one block. The 'new' fsck would round this value up to a fragment boundary, and end up trying to access memory beyond allocated space. From mickey@, okay pedro@, millert@ and otto@.
2007-04-20Do not use time_t for on-disk data structures, use int32_t insteadTodd C. Miller
since time_t will have to be crank to 64 bits at some point in the future. OK pedro@
2007-04-15Save block pointers contents before releasing interrupts so that panicPedro Martelletto
messages are consistent, from mickey@, okay pedro@
2007-04-13Move the declaration of VN_KNOTE() into vnode.h instead of havingThordur I. Bjornsson
multiple defines all over; ok tedu@
2007-04-11Remove the simplelock argument from vrecycle();Thordur I. Bjornsson
ok pedro@, sturm@
2007-04-11in ffs_reload() use ffs_validate() to check if theThordur I. Bjornsson
superblock is OK; Makes it work for FFS2. ok tedu@
2007-04-10``it's'' -> ``its'' when the grammar gods require this change.Miod Vallat
2007-04-10Fix yet another vnode leak. If relookup() succeeds, we no longer needPedro Martelletto
the compensation acquired before ufs_checkpath(). OK tom@ mickey@ beck@
2007-04-04Back out revision 1.70. By asynchronously writing the bitmaps to diskPedro Martelletto
upon unmount, we were generating rollbacks that wouldn't be taken care of, as well as leaving dangling items in softdep's worklist.
2007-04-02vrele() the destination directory vnode in ufs_rename() if the call toPedro Martelletto
ufs_checkpath() fails, okay krw@ tom@ thib@ deraadt@
2007-03-31deregister, no change in object codePedro Martelletto
2007-03-23Make FFS allocation functions non-static, okay miod@ mk@ thib@Pedro Martelletto
2007-03-21Remove the v_interlock simplelock from the vnode structure.Thordur I. Bjornsson
Zap all calls to simple_lock/unlock() on it (those calls are #defined away though). Remove the LK_INTERLOCK from the calls to vn_lock() and cleanup the filesystems wich implement VOP_LOCK(). (by remvoing the v_interlock from there calls to lockmgr()). ok pedro@, art@, tedu@
2007-03-19Also shift superblock fields in ffs_reload(), okay beck@ deraadt@Pedro Martelletto