aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/ffs/ffs_softdep.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2004-10-26 10:44:10 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2004-10-26 10:44:10 +0000
commit6e77a04170db6c8a1a87918dd1baff938ac3dc98 (patch)
tree1dce54aab22f680923307ceb5fa06a88e65f184d /sys/ufs/ffs/ffs_softdep.c
parent58883a1fe5a06b036da9b2be9fe27cb36cbb2e8d (diff)
downloadsrc-6e77a04170db6c8a1a87918dd1baff938ac3dc98.tar.gz
src-6e77a04170db6c8a1a87918dd1baff938ac3dc98.zip
The island council met and voted buf_prewrite() home.
Give ffs it's own bufobj->bo_ops vector and create a private strategy routine, (currently misnamed for forwards compatibility), which is just a copy of the generic bufstrategy routine except we call softdep_disk_prewrite() directly instead of through the buf_prewrite() indirection. Teach UFS about the need for softdep_disk_prewrite() and call the function directly in FFS. Remove buf_prewrite() from the default bufstrategy() and from the global bio_ops method vector.
Notes
Notes: svn path=/head/; revision=136969
Diffstat (limited to 'sys/ufs/ffs/ffs_softdep.c')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 61fd28b3eac3..4ecec3c50d8a 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -203,7 +203,6 @@ static void add_to_worklist(struct worklist *);
/*
* Exported softdep operations.
*/
-static int softdep_disk_prewrite(struct vnode *vp, struct buf *bp);
static void softdep_disk_io_initiation(struct buf *);
static void softdep_disk_write_complete(struct buf *);
static void softdep_deallocate_dependencies(struct buf *);
@@ -1154,7 +1153,6 @@ softdep_initialize()
softdep_fsync_hook = softdep_fsync;
/* initialise bioops hack */
- bioops.io_prewrite = softdep_disk_prewrite;
bioops.io_start = softdep_disk_io_initiation;
bioops.io_complete = softdep_disk_write_complete;
bioops.io_deallocate = softdep_deallocate_dependencies;
@@ -3417,7 +3415,7 @@ handle_workitem_freefile(freefile)
WORKITEM_FREE(freefile, D_FREEFILE);
}
-static int
+int
softdep_disk_prewrite(struct vnode *vp, struct buf *bp)
{
int error;