Skip to content

Commit 5aea364

Browse files
Justin T. Gibbsbehlendorf
authored andcommitted
Illumos 5038 - Remove "old-style" flexible array usage in ZFS.
5038 Remove "old-style" flexible array usage in ZFS. Author: Justin T. Gibbs <justing@spectralogic.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Approved by: Richard Lowe <richlowe@richlowe.net> References: https://www.illumos.org/issues/5038 illumos/illumos-gate@7f18da4 Ported-by: Chris Dunlop <chris@onthe.net.au> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
1 parent 8951cb8 commit 5aea364

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

include/sys/dnode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ typedef struct dnode_handle {
267267

268268
typedef struct dnode_children {
269269
size_t dnc_count; /* number of children */
270-
dnode_handle_t dnc_children[1]; /* sized dynamically */
270+
dnode_handle_t dnc_children[]; /* sized dynamically */
271271
} dnode_children_t;
272272

273273
typedef struct free_range {

module/zfs/dnode.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,7 @@ dnode_buf_pageout(dmu_buf_t *db, void *arg)
10221022
dnh->dnh_dnode = NULL;
10231023
}
10241024
kmem_free(children_dnodes, sizeof (dnode_children_t) +
1025-
(epb - 1) * sizeof (dnode_handle_t));
1025+
epb * sizeof (dnode_handle_t));
10261026
}
10271027

10281028
/*
@@ -1107,7 +1107,7 @@ dnode_hold_impl(objset_t *os, uint64_t object, int flag,
11071107
int i;
11081108
dnode_children_t *winner;
11091109
children_dnodes = kmem_alloc(sizeof (dnode_children_t) +
1110-
(epb - 1) * sizeof (dnode_handle_t), KM_SLEEP);
1110+
epb * sizeof (dnode_handle_t), KM_SLEEP);
11111111
children_dnodes->dnc_count = epb;
11121112
dnh = &children_dnodes->dnc_children[0];
11131113
for (i = 0; i < epb; i++) {
@@ -1122,7 +1122,7 @@ dnode_hold_impl(objset_t *os, uint64_t object, int flag,
11221122
}
11231123

11241124
kmem_free(children_dnodes, sizeof (dnode_children_t) +
1125-
(epb - 1) * sizeof (dnode_handle_t));
1125+
epb * sizeof (dnode_handle_t));
11261126
children_dnodes = winner;
11271127
}
11281128
}

0 commit comments

Comments
 (0)