summaryrefslogtreecommitdiff
path: root/bio.c
diff options
context:
space:
mode:
authorkaashoek <kaashoek>2006-08-07 01:38:46 +0000
committerkaashoek <kaashoek>2006-08-07 01:38:46 +0000
commit104207726be721843e44b8616faa87222aa5f0c2 (patch)
treec3110f6482c692df461023a3d40ed420cc288475 /bio.c
parent8ec6530feea5153e00dced60d33fbfdd9d5c3184 (diff)
downloadxv6-labs-104207726be721843e44b8616faa87222aa5f0c2.tar.gz
xv6-labs-104207726be721843e44b8616faa87222aa5f0c2.tar.bz2
xv6-labs-104207726be721843e44b8616faa87222aa5f0c2.zip
bwrite
Diffstat (limited to 'bio.c')
-rw-r--r--bio.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/bio.c b/bio.c
index 36b258e..f847c2e 100644
--- a/bio.c
+++ b/bio.c
@@ -51,6 +51,19 @@ bread(uint dev, uint sector)
}
void
+bwrite(uint dev, struct buf *b, uint sector)
+{
+ void *c;
+ extern struct spinlock ide_lock;
+
+ acquire(&ide_lock);
+ c = ide_start_rw(dev & 0xff, sector, b->data, 1, 0);
+ sleep (c, &ide_lock);
+ ide_finish(c);
+ release(&ide_lock);
+}
+
+void
brelse(struct buf *b)
{
if((b->flags & B_BUSY) == 0)