I'd suggest against making this kind of complicated inlien functions, andI also don't see why the for_each_zone() isn't a simpler doubly nestedfor-loop instead of being forced into a less obvious iterative loop?

In short, this looks syntactically simple, but the syntactic simplicity comes at the expense of a unnecessarily complex implementation.