diff options
author | mikeh <mikeh@FreeBSD.org> | 2001-07-01 04:46:20 +0000 |
---|---|---|
committer | mikeh <mikeh@FreeBSD.org> | 2001-07-01 04:46:20 +0000 |
commit | 1219a35719184de1244982add3d3eb7d2a688e7b (patch) | |
tree | e61ab69da2aced469a624fcf58e02c320143d4e4 /sbin/dump | |
parent | d5219f43a7e1f3eb4228542fbf60ff9be6043e64 (diff) | |
download | FreeBSD-src-1219a35719184de1244982add3d3eb7d2a688e7b.zip FreeBSD-src-1219a35719184de1244982add3d3eb7d2a688e7b.tar.gz |
Convert two instances of a lseek()+read() combination to a pread().
PR: bin/17640
MFC after: 2 weeks
Diffstat (limited to 'sbin/dump')
-rw-r--r-- | sbin/dump/traverse.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index 5d01130..f428e16 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -601,10 +601,8 @@ bread(blkno, buf, size) int cnt, i; loop: - if (lseek(diskfd, ((off_t)blkno << dev_bshift), 0) != - ((off_t)blkno << dev_bshift)) - msg("bread: lseek fails\n"); - if ((cnt = read(diskfd, buf, size)) == size) + if ((cnt = pread(diskfd, buf, size, ((off_t)blkno << dev_bshift))) == + size) return; if (blkno + (size / dev_bsize) > fsbtodb(sblock, sblock->fs_size)) { /* @@ -642,10 +640,8 @@ loop: */ memset(buf, 0, size); for (i = 0; i < size; i += dev_bsize, buf += dev_bsize, blkno++) { - if (lseek(diskfd, ((off_t)blkno << dev_bshift), 0) != - ((off_t)blkno << dev_bshift)) - msg("bread: lseek2 fails!\n"); - if ((cnt = read(diskfd, buf, (int)dev_bsize)) == dev_bsize) + if ((cnt = pread(diskfd, buf, (int)dev_bsize, + ((off_t)blkno << dev_bshift))) == dev_bsize) continue; if (cnt == -1) { msg("read error from %s: %s: [sector %d]: count=%d\n", |