On 12/27/2014 06:58 PM, nick wrote: > Greetings Dave, > I am wondering why there is a TO DO above this code: > * ToDo: tlocks should be on doubly-linked list, so we can > * quickly remove it and add it to the end.
I'm sure the idea was to avoid the for loop needed to find the previous entry in the linked list. A doubly-linked list makes it much simpler to remove an item from an arbitrary position in the list. > */ > > /* > * Move parent page's tlock to the end of the tid's tlock list > */ > if (log && mp->lid && (tblk->last != mp->lid) && > lid_to_tlock(mp->lid)->tid) { > lid_t lid = mp->lid; > struct tlock *prev; > > tlck = lid_to_tlock(lid); > > if (tblk->next == lid) > tblk->next = tlck->next; > else { > for (prev = lid_to_tlock(tblk->next); > prev->next != lid; > prev = lid_to_tlock(prev->next)) { > assert(prev->next); > } > prev->next = tlck->next; > } > lid_to_tlock(tblk->last)->next = lid; > tlck->next = 0; > tblk->last = lid; > } > As this code clearly moves the locks onto a linked list. Therefore I am > recommend we remove this > TO DO as this is clearly misleading and no longer needed. That comment has been in the code forever and I don't have any intention of changing things, but I don't think it's wrong. I don't mind removing it, though. jfs has been barely maintained and there is a ton of cleanup that can be done if someone were willing to take the time to do it. Thanks, Shaggy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/