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 https://github.com/illumos/illumos-gate/commit/7f18da4 Ported-by: Chris Dunlop <chris@onthe.net.au> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
8951cb8dfb
commit
5aea3644d6
|
@ -267,7 +267,7 @@ typedef struct dnode_handle {
|
||||||
|
|
||||||
typedef struct dnode_children {
|
typedef struct dnode_children {
|
||||||
size_t dnc_count; /* number of children */
|
size_t dnc_count; /* number of children */
|
||||||
dnode_handle_t dnc_children[1]; /* sized dynamically */
|
dnode_handle_t dnc_children[]; /* sized dynamically */
|
||||||
} dnode_children_t;
|
} dnode_children_t;
|
||||||
|
|
||||||
typedef struct free_range {
|
typedef struct free_range {
|
||||||
|
|
|
@ -1022,7 +1022,7 @@ dnode_buf_pageout(dmu_buf_t *db, void *arg)
|
||||||
dnh->dnh_dnode = NULL;
|
dnh->dnh_dnode = NULL;
|
||||||
}
|
}
|
||||||
kmem_free(children_dnodes, sizeof (dnode_children_t) +
|
kmem_free(children_dnodes, sizeof (dnode_children_t) +
|
||||||
(epb - 1) * sizeof (dnode_handle_t));
|
epb * sizeof (dnode_handle_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1107,7 +1107,7 @@ dnode_hold_impl(objset_t *os, uint64_t object, int flag,
|
||||||
int i;
|
int i;
|
||||||
dnode_children_t *winner;
|
dnode_children_t *winner;
|
||||||
children_dnodes = kmem_alloc(sizeof (dnode_children_t) +
|
children_dnodes = kmem_alloc(sizeof (dnode_children_t) +
|
||||||
(epb - 1) * sizeof (dnode_handle_t), KM_SLEEP);
|
epb * sizeof (dnode_handle_t), KM_SLEEP);
|
||||||
children_dnodes->dnc_count = epb;
|
children_dnodes->dnc_count = epb;
|
||||||
dnh = &children_dnodes->dnc_children[0];
|
dnh = &children_dnodes->dnc_children[0];
|
||||||
for (i = 0; i < epb; i++) {
|
for (i = 0; i < epb; i++) {
|
||||||
|
@ -1122,7 +1122,7 @@ dnode_hold_impl(objset_t *os, uint64_t object, int flag,
|
||||||
}
|
}
|
||||||
|
|
||||||
kmem_free(children_dnodes, sizeof (dnode_children_t) +
|
kmem_free(children_dnodes, sizeof (dnode_children_t) +
|
||||||
(epb - 1) * sizeof (dnode_handle_t));
|
epb * sizeof (dnode_handle_t));
|
||||||
children_dnodes = winner;
|
children_dnodes = winner;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue