The primary purpose of this patch is to avoid creating many small cpio archives and concatenating them, and instead just creating a single one and appending data to it incrementally. These smaller archives were being rebuilt every time and there isn't really any need to turn them into caches (the compiled bits are already cached). Concatenating multiple archives is an abuse of the format and it is unlikely that the kernel understands concatenated archives by design, more likely they just didn't implement every fine detail of the spec. Additionally, cpio "breaks" (well, actually does what the spec says) when handling these archives meaning that they cant be easily extracted in entirety. Compression should be better now, as compressing one big archive rather than compressing many smaller ones (then concatenating them later) should give better results. There should be no other functional/behavior changes introduced by this patch. I also cleaned up the code here: cpio cache is no longer used. functions like create_lvms_cpio were only being called conditionally based on ${LVMS2}, but the functions themselves were checking this variable as well. This patch should be applied after the one in bug #156445
Created attachment 102985 [details, diff] patch
OK. I've added this to SVN... I'm hoping you tested this a good bit... ;]
Fixed in 3.4.6