diff options
author | Robert Morris <[email protected]> | 2011-10-14 10:23:23 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2011-10-14 10:23:23 -0400 |
commit | 12abb1a56164a0d71fb7a76a465c912409f2f60b (patch) | |
tree | bc03592160be0e13960a9c106ecf5d48aadbe897 /bio.c | |
parent | 38eee5bca75cc16d40101953bc2003bb77d452e7 (diff) | |
download | xv6-labs-12abb1a56164a0d71fb7a76a465c912409f2f60b.tar.gz xv6-labs-12abb1a56164a0d71fb7a76a465c912409f2f60b.tar.bz2 xv6-labs-12abb1a56164a0d71fb7a76a465c912409f2f60b.zip |
don't let dirty blocks be evicted from cache!
Diffstat (limited to 'bio.c')
-rw-r--r-- | bio.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -79,9 +79,9 @@ bget(uint dev, uint sector) } } - // Not cached; recycle some existing buffer. + // Not cached; recycle some non-busy and clean buffer. for(b = bcache.head.prev; b != &bcache.head; b = b->prev){ - if((b->flags & B_BUSY) == 0){ + if((b->flags & B_BUSY) == 0 && (b->flags & B_DIRTY) == 0){ b->dev = dev; b->sector = sector; b->flags = B_BUSY; |