diff options
| author | Cody Cutler <ccutler@csail.mit.edu> | 2015-02-19 11:51:47 -0500 | 
|---|---|---|
| committer | Cody Cutler <ccutler@csail.mit.edu> | 2015-02-19 11:51:47 -0500 | 
| commit | 3d2dedd42714fc4eb7844b17b62669e287f27583 (patch) | |
| tree | 34e11f5880ea7e23575dae8cf2bab7109a3e2391 | |
| parent | 41f16c21832f120bba96fe1d4ba0079aaf34c11a (diff) | |
| download | xv6-labs-3d2dedd42714fc4eb7844b17b62669e287f27583.tar.gz xv6-labs-3d2dedd42714fc4eb7844b17b62669e287f27583.tar.bz2 xv6-labs-3d2dedd42714fc4eb7844b17b62669e287f27583.zip | |
fix buf where concurrent fs syscalls race on log entries
| -rw-r--r-- | log.c | 2 | 
1 files changed, 2 insertions, 0 deletions
| @@ -217,6 +217,7 @@ log_write(struct buf *b)    if (log.outstanding < 1)      panic("log_write outside of trans"); +  acquire(&log.lock);    for (i = 0; i < log.lh.n; i++) {      if (log.lh.sector[i] == b->sector)   // log absorbtion        break; @@ -225,5 +226,6 @@ log_write(struct buf *b)    if (i == log.lh.n)      log.lh.n++;    b->flags |= B_DIRTY; // prevent eviction +  release(&log.lock);  } | 
