diff options
Diffstat (limited to 'sys/ufs/ffs/ffs_softdep.c')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 45 |
1 files changed, 7 insertions, 38 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 8cd281c25a7..62ba576934e 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_softdep.c,v 1.57 2005/06/10 17:37:40 pedro Exp $ */ +/* $OpenBSD: ffs_softdep.c,v 1.58 2005/06/18 18:09:43 millert Exp $ */ /* * Copyright 1998, 2000 Marshall Kirk McKusick. All Rights Reserved. * @@ -2444,15 +2444,6 @@ softdep_setup_directory_add(bp, dp, diroffset, newinum, newdirbp) struct inodedep *inodedep; struct mkdir *mkdir1, *mkdir2; - /* - * Whiteouts have no dependencies. - */ - if (newinum == WINO) { - if (newdirbp != NULL) - bdwrite(newdirbp); - return; - } - fs = dp->i_fs; lbn = lblkno(fs, diroffset); offset = blkoff(fs, diroffset); @@ -2802,18 +2793,12 @@ softdep_setup_directory_change(bp, dp, ip, newinum, isrmdir) struct inodedep *inodedep; offset = blkoff(dp->i_fs, dp->i_offset); - - /* - * Whiteouts do not need diradd dependencies. - */ - if (newinum != WINO) { - dap = pool_get(&diradd_pool, PR_WAITOK); - bzero(dap,sizeof(struct diradd)); - dap->da_list.wk_type = D_DIRADD; - dap->da_state = DIRCHG | ATTACHED | DEPCOMPLETE; - dap->da_offset = offset; - dap->da_newinum = newinum; - } + dap = pool_get(&diradd_pool, PR_WAITOK); + bzero(dap,sizeof(struct diradd)); + dap->da_list.wk_type = D_DIRADD; + dap->da_state = DIRCHG | ATTACHED | DEPCOMPLETE; + dap->da_offset = offset; + dap->da_newinum = newinum; /* * Allocate a new dirrem and ACQUIRE_LOCK. @@ -2836,22 +2821,6 @@ softdep_setup_directory_change(bp, dp, ip, newinum, isrmdir) dirrem->dm_state |= DIRCHG; /* - * Whiteouts have no additional dependencies, - * so just put the dirrem on the correct list. - */ - if (newinum == WINO) { - if ((dirrem->dm_state & COMPLETE) == 0) { - LIST_INSERT_HEAD(&pagedep->pd_dirremhd, dirrem, - dm_next); - } else { - dirrem->dm_dirinum = pagedep->pd_ino; - add_to_worklist(&dirrem->dm_list); - } - FREE_LOCK(&lk); - return; - } - - /* * If the COMPLETE flag is clear, then there were no active * entries and we want to roll back to the previous inode until * the new inode is committed to disk. If the COMPLETE flag is |