summaryrefslogtreecommitdiff
path: root/sys/ufs/lfs/lfs_segment.c
diff options
context:
space:
mode:
authordholland <dholland@NetBSD.org>2015-10-10 22:33:31 +0000
committerdholland <dholland@NetBSD.org>2015-10-10 22:33:31 +0000
commite31b7f021066766060bf626f4977825779c990e5 (patch)
tree8a11943a2cd68002e2f14be8e493d88c63371f77 /sys/ufs/lfs/lfs_segment.c
parent49e5740101e225a0df18f2ca7591d73a57b040b3 (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.c17
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);
}
}
/*