diff options
| author | dholland <dholland@NetBSD.org> | 2015-10-10 22:33:31 +0000 |
|---|---|---|
| committer | dholland <dholland@NetBSD.org> | 2015-10-10 22:33:31 +0000 |
| commit | e31b7f021066766060bf626f4977825779c990e5 (patch) | |
| tree | 8a11943a2cd68002e2f14be8e493d88c63371f77 /sys/ufs/lfs/lfs_segment.c | |
| parent | 49e5740101e225a0df18f2ca7591d73a57b040b3 (diff) | |
Use accessors for some more indirect block manipulations.
Diffstat (limited to 'sys/ufs/lfs/lfs_segment.c')
| -rw-r--r-- | sys/ufs/lfs/lfs_segment.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/sys/ufs/lfs/lfs_segment.c b/sys/ufs/lfs/lfs_segment.c index a8ada66c1e8..b2cc4dbd689 100644 --- a/sys/ufs/lfs/lfs_segment.c +++ b/sys/ufs/lfs/lfs_segment.c @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_segment.c,v 1.260 2015/10/03 08:28:16 dholland Exp $ */ +/* $NetBSD: lfs_segment.c,v 1.261 2015/10/10 22:33:31 dholland Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc. @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.260 2015/10/03 08:28:16 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.261 2015/10/10 22:33:31 dholland Exp $"); #ifdef DEBUG # define vndebug(vp, str) do { \ @@ -2035,7 +2035,7 @@ lfs_writeseg(struct lfs *fs, struct segment *sp) struct vnode *devvp; char *p = NULL; struct vnode *vp; - int32_t *daddrp; /* XXX ondisk32 */ + unsigned ibindex, iblimit; int changed; u_int32_t sum; size_t sumstart; @@ -2162,13 +2162,12 @@ lfs_writeseg(struct lfs *fs, struct segment *sp) newbp->b_bcount); changed = 0; - /* XXX ondisk32 */ - for (daddrp = (int32_t *)(newbp->b_data); - daddrp < (int32_t *)((char *)newbp->b_data + - newbp->b_bcount); daddrp++) { - if (*daddrp == UNWRITTEN) { + iblimit = newbp->b_bcount / LFS_BLKPTRSIZE(fs); + for (ibindex = 0; ibindex < iblimit; ibindex++) { + if (lfs_iblock_get(fs, newbp->b_data, ibindex) == UNWRITTEN) { ++changed; - *daddrp = 0; + lfs_iblock_set(fs, newbp->b_data, + ibindex, 0); } } /* |
