Quoting Liu Bo (2013-03-15 10:46:39) > Users report that an extent map's list is still linked when it's actually > going to be freed from cache. > > The story is that > > a) when we're going to drop an extent map and may split this large one into > smaller ems, and if this large one is flagged as EXTENT_FLAG_LOGGING which means > that it's on the list to be logged, then the smaller ems split from it will also > be flagged as EXTENT_FLAG_LOGGING, and this is _not_ expected. > > b) we'll keep ems from unlinking the list and freeing when they are flagged with > EXTENT_FLAG_LOGGING, because the log code holds one reference. > > The end result is the warning, but the truth is that we set the flag > EXTENT_FLAG_LOGGING only during fsync. > > So clear flag EXTENT_FLAG_LOGGING for extent maps split from a large one. Thanks for tracking this down! I've got it in my tree now. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
