remove hacky list stuff in OSD with a simple next pointer; fixes a segfault/double free that I could not figure out how to fix otherwise