summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authormikeh <mikeh@FreeBSD.org>2001-07-01 04:46:20 +0000
committermikeh <mikeh@FreeBSD.org>2001-07-01 04:46:20 +0000
commit1219a35719184de1244982add3d3eb7d2a688e7b (patch)
treee61ab69da2aced469a624fcf58e02c320143d4e4 /sbin
parentd5219f43a7e1f3eb4228542fbf60ff9be6043e64 (diff)
downloadFreeBSD-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')
-rw-r--r--sbin/dump/traverse.c12
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",
OpenPOWER on IntegriCloud