summaryrefslogtreecommitdiffstats
path: root/sys/gnu/ext2fs/ext2_readwrite.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/gnu/ext2fs/ext2_readwrite.c')
-rw-r--r--sys/gnu/ext2fs/ext2_readwrite.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/gnu/ext2fs/ext2_readwrite.c b/sys/gnu/ext2fs/ext2_readwrite.c
index 093f7fb..478f0d2 100644
--- a/sys/gnu/ext2fs/ext2_readwrite.c
+++ b/sys/gnu/ext2fs/ext2_readwrite.c
@@ -120,8 +120,11 @@ READ(ap)
size, &nextlbn, &nextsize, 1, NOCRED, &bp);
} else
error = bread(vp, lbn, size, NOCRED, &bp);
- if (error)
+ if (error) {
+ brelse(bp);
+ bp = NULL;
break;
+ }
vp->v_lastr = lbn;
/*
@@ -148,10 +151,10 @@ READ(ap)
uio->uio_offset == ip->i_size))
bp->b_flags |= B_AGE;
#endif
- brelse(bp);
+ bqrelse(bp);
}
if (bp != NULL)
- brelse(bp);
+ bqrelse(bp);
ip->i_flag |= IN_ACCESS;
return (error);
}
OpenPOWER on IntegriCloud