List Info

Thread: ASSERTION(thread_id < filter->fo_iobuf_count) failed




ASSERTION(thread_id < filter->fo_iobuf_count) failed
country flaguser name
United States
2007-06-18 04:26:29
Please don't reply to lustre-devel. Instead, comment in
Bugzilla by using the following link:
htt
ps://bugzilla.lustre.org/show_bug.cgi?id=12330



We also hit it, with Lustre 1.6.0, on a small test
configuration, doing
ceaseless  small I/O (~200 MB/s) on 2 OSS, with large
stripecount (46, each file
was striped on each OST).

We think this is a similar problem with
"ASSERTION(thread->t_id <
OSS_THREAD_MAX)" fixed in 1.6.0. 
The thread_id count starts from 1, and not from 0, as a
consequence, the check
must be done with "<=" (Not sure also that
thread_id >= 0 is relevant here.)

--- lustre/obdfilter/filter.c.orig      2007-06-18
11:21:13.000000000 +0200
+++ lustre/obdfilter/filter.c   2007-06-18
11:21:22.000000000 +0200
 -1572,7
+1572,7  void *filter_iobuf_get(struct filter_obd
         struct filter_iobuf **pool_place = NULL;

         if (thread_id >= 0) {
-                LASSERT(thread_id <
filter->fo_iobuf_count);
+                LASSERT(thread_id <=
filter->fo_iobuf_count);
                 pool = *(pool_place =
&filter->fo_iobuf_pool[thread_id]);
         }

_______________________________________________
Lustre-devel mailing list
Lustre-develclusterfs.com
https://mail.clusterfs.com/mailman/listinfo/lustre-devel


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )