On Thu, Aug 07, 2014 at 02:35:57PM +0900, Hitoshi Mitake wrote: > On Thu, Aug 7, 2014 at 12:10 PM, Ruoyu <lian...@ucweb.com> wrote: > > Hi Hitoshi, > > > > > > +static bool add_new_participant(struct vdi_state_entry *entry, > > + const struct node_id *owner) > > +{ > > + int idx; > > + > > + if (entry->lock_state == LOCK_STATE_UNLOCKED) { > > + assert(!entry->nr_participants); > > + > > + sd_debug("%s is first owner of %"PRIx32, > > node_id_to_str(owner), > > + entry->vid); > > + > > + entry->nr_participants = 1; > > + memcpy(&entry->participants[0], owner, sizeof(*owner)); > > + entry->participants_state[0] = SHARED_LOCK_STATE_MODIFIED; > > + entry->lock_state = LOCK_STATE_SHARED; > > + > > + return true; > > + } > > + > > + assert(entry->lock_state == LOCK_STATE_UNLOCKED); > > > > It seems the assertion will be failure. Am I misunderstanding? > > Thanks a lot for your pointing. As you say, it is my mistake. I've > forgot to test it with --enable-debug. I've posted a patch for fixing > it. >
I'd suggest enable assert() as default, not associated with --enable-debug. This will allow us to catch fatal bugs as early as possible because most of the time, poeple include devvers won't --enable-debug. Thanks Yuan -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog