Module Name: src
Committed By: dholland
Date: Sat Oct 3 08:28:56 UTC 2015
Modified Files:
src/usr.sbin/dumplfs: dumplfs.c
Log Message:
Use accessors for another batch of indirect block accesses, this time
in dumplfs.
To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/usr.sbin/dumplfs/dumplfs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/dumplfs/dumplfs.c
diff -u src/usr.sbin/dumplfs/dumplfs.c:1.58 src/usr.sbin/dumplfs/dumplfs.c:1.59
--- src/usr.sbin/dumplfs/dumplfs.c:1.58 Sat Oct 3 08:28:46 2015
+++ src/usr.sbin/dumplfs/dumplfs.c Sat Oct 3 08:28:56 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: dumplfs.c,v 1.58 2015/10/03 08:28:46 dholland Exp $ */
+/* $NetBSD: dumplfs.c,v 1.59 2015/10/03 08:28:56 dholland Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 19
#if 0
static char sccsid[] = "@(#)dumplfs.c 8.5 (Berkeley) 5/24/95";
#else
-__RCSID("$NetBSD: dumplfs.c,v 1.58 2015/10/03 08:28:46 dholland Exp $");
+__RCSID("$NetBSD: dumplfs.c,v 1.59 2015/10/03 08:28:56 dholland Exp $");
#endif
#endif /* not lint */
@@ -277,8 +277,9 @@ dump_ifile(int fd, struct lfs *lfsp, int
char *ipage;
char *dpage;
union lfs_dinode *dip = NULL;
- /* XXX ondisk32 */
- int32_t *addrp, *dindir, *iaddrp, *indir;
+ void *dindir, *indir;
+ unsigned offset;
+ daddr_t thisblock;
daddr_t pdb;
int block_limit, i, inum, j, nblocks, psize;
@@ -346,10 +347,11 @@ dump_ifile(int fd, struct lfs *lfsp, int
err(1, "malloc");
get(fd, fsbtobyte(lfsp, lfs_dino_getib(lfsp, dip, 0)), indir, psize);
block_limit = MIN(i + lfs_sb_getnindir(lfsp), nblocks);
- for (addrp = indir; i < block_limit; i++, addrp++) {
- if (*addrp == LFS_UNUSED_DADDR)
+ for (offset = 0; i < block_limit; i++, offset++) {
+ thisblock = lfs_iblock_get(lfsp, indir, offset);
+ if (thisblock == LFS_UNUSED_DADDR)
break;
- get(fd, fsbtobyte(lfsp, *addrp), ipage, psize);
+ get(fd, fsbtobyte(lfsp, thisblock), ipage, psize);
if (i < lfs_sb_getcleansz(lfsp)) {
dump_cleaner_info(lfsp, ipage);
continue;
@@ -378,15 +380,17 @@ dump_ifile(int fd, struct lfs *lfsp, int
if (!(dindir = malloc(psize)))
err(1, "malloc");
get(fd, fsbtobyte(lfsp, lfs_dino_getib(lfsp, dip, 1)), dindir, psize);
- for (iaddrp = dindir, j = 0; j < lfs_sb_getnindir(lfsp); j++, iaddrp++) {
- if (*iaddrp == LFS_UNUSED_DADDR)
+ for (j = 0; j < lfs_sb_getnindir(lfsp); j++) {
+ thisblock = lfs_iblock_get(lfsp, dindir, j);
+ if (thisblock == LFS_UNUSED_DADDR)
break;
- get(fd, fsbtobyte(lfsp, *iaddrp), indir, psize);
+ get(fd, fsbtobyte(lfsp, thisblock), indir, psize);
block_limit = MIN(i + lfs_sb_getnindir(lfsp), nblocks);
- for (addrp = indir; i < block_limit; i++, addrp++) {
- if (*addrp == LFS_UNUSED_DADDR)
+ for (offset = 0; i < block_limit; i++, offset++) {
+ thisblock = lfs_iblock_get(lfsp, indir, offset);
+ if (thisblock == LFS_UNUSED_DADDR)
break;
- get(fd, fsbtobyte(lfsp, *addrp), ipage, psize);
+ get(fd, fsbtobyte(lfsp, thisblock), ipage, psize);
if (i < lfs_sb_getcleansz(lfsp)) {
dump_cleaner_info(lfsp, ipage);
continue;