diff options
author | kaashoek <kaashoek> | 2006-08-07 01:38:46 +0000 |
---|---|---|
committer | kaashoek <kaashoek> | 2006-08-07 01:38:46 +0000 |
commit | 104207726be721843e44b8616faa87222aa5f0c2 (patch) | |
tree | c3110f6482c692df461023a3d40ed420cc288475 /bio.c | |
parent | 8ec6530feea5153e00dced60d33fbfdd9d5c3184 (diff) | |
download | xv6-labs-104207726be721843e44b8616faa87222aa5f0c2.tar.gz xv6-labs-104207726be721843e44b8616faa87222aa5f0c2.tar.bz2 xv6-labs-104207726be721843e44b8616faa87222aa5f0c2.zip |
bwrite
Diffstat (limited to 'bio.c')
-rw-r--r-- | bio.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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) |