* __arg1__ leaves within all the buckets of type __arg2__ and
* select them.
*
- * In all __CHOOSE__ steps, if __arg1__ is zero, the number of items
- * to select is determined by the __max_result__ argument of
- * crush_do_rule(), i.e. __arg1__ is __max_result__ minus the number of
- * items already in the result.
+ * In all __CHOOSE__ steps, if __arg1__ is less than or equal to zero,
+ * the number of items to select is equal to the __max_result__ argument
+ * of crush_do_rule() minus __arg1__. It is common to set __arg1__ to zero
+ * to select as many items as requested by __max_result__.
*
* - __CRUSH_RULE_SET_CHOOSE_TRIES__ and __CRUSH_RULE_SET_CHOOSELEAF_TRIES__
*
for (i = 0; i < wsize; i++) {
int bno;
- /*
- * see CRUSH_N, CRUSH_N_MINUS macros.
- * basically, numrep <= 0 means relative to
- * the provided result_max
- */
numrep = curstep->arg1;
if (numrep <= 0) {
numrep += result_max;