Replies: 17 comments 4 replies
-
Has information on the breakage been captured? I would think another option would be to "freeze" 5.10 with aufs at the version that works pro-tem until J. R. Okajima has had a chance to make a fix. I think his announcement was that support for 5.15 would continue but it is due to go EOL before 5.10 which is somewhat bizarre! |
Beta Was this translation helpful? Give feedback.
-
Freeze them at the version where aufs works..... J. R. Okajima has not yet stopped support for 5.10 so its likely he will fix this problem if it is properly reported to him. |
Beta Was this translation helpful? Give feedback.
-
Interesting finding: aufs is broken for 5.4, probably for a long time. Before 171d740, our kernel builds didn't fail on failure to apply aufs patches. Our 5.4 kernels had a partially applied aufs patch, and that can be super dangerous! It looks like aufs is broken (at least) for 5.4, 5.10 and 5.15, and 5.4 is EOL already. Even if aufs for 5.10 is fixed, 5.4 remains broken. |
Beta Was this translation helpful? Give feedback.
-
I will raise an issue with J. R. Okajima for 5.10 |
Beta Was this translation helpful? Give feedback.
-
Opened 2 PRs to prevent this aufs situation from blocking the development of Puppy builds that use overlay: |
Beta Was this translation helpful? Give feedback.
-
Thanx for the report. |
Beta Was this translation helpful? Give feedback.
-
#3365 seems to work well. All builds pass, except:
(Maybe 5.15.x will break soon, for the same reason as 5.10.x.) |
Beta Was this translation helpful? Give feedback.
-
5.4 can be deleted as kernel /fs/file_table.c now contains EXPORT_SYMBOL(__fput_sync); |
Beta Was this translation helpful? Give feedback.
-
Of course ignoring the 5.4 patch error is logically equivalent to deleting the patch from aufs5-standalone.patch so 5.4 was probably building correctly.
|
Beta Was this translation helpful? Give feedback.
-
We should therefore revert and freeze on |
Beta Was this translation helpful? Give feedback.
-
OK - then for whichever version of 5.4 the change occurred that broke the patch....... 4.19 is still being used but support ended on Jun 18, 2020: |
Beta Was this translation helpful? Give feedback.
-
Pushed an improved version of #3363. Now the default is aufs, as before, but the init script automatically falls back to overlay if the kernel is built without aufs support. The user can force use of overlay even if the kernel supports aufs, by specifying Objections? |
Beta Was this translation helpful? Give feedback.
-
focal64-227 with kernel 5.4.210 boots OK but has many other issues............. |
Beta Was this translation helpful? Give feedback.
-
Tested #3363 and merged into testing. In addition, I triggered kernel-kit run #147: it's a rebuild of 5.10.139, so people who use 5.10.x with aufs have a stopgap solution for two weeks (the build artifact retention period). The focal64 configuration in woof-CE is unmaintained, and Fossapup 9.5 is not reproducible with today's woof-CE. AFAIK this is the only user of the 5.4.x kernel. I wouldn't be surprised if nobody volunteers to fix aufs for 5.4.x, compare it against aufs master to ensure it's safe to use with latest 5.4.x, and test it thoroughly. (Same with 4.19.x, which builds fine but probably lacks fixes from today's aufs .) I don't have the time and the willingness to maintain aufs support for old longterm kernels, and prefer to spend my time on polishing overlay support (things like #3348 and #3326) and other things, like Wayland support and HiDPI support. If kernels with aufs (and the woof-CE builds that use them) remain broken, I'll disable the failing build configurations at some point in the future, to avoid waste of build time. |
Beta Was this translation helpful? Give feedback.
-
(Quick summary) Looks like the current situation with 5.10.x is resolved. 5.15.x and 5.10.x now build OK and still officially supported, while 4.19.x and 5.4.x are unofficially unsupported, build OK and it's unknown whether or not aufs is still safe to use with these, considering all the kernel changes since official support was dropped. With #2963, #3317, #3343, #3363, #3365 and others, woof-CE is now fully decoupled from aufs. A Puppy that uses a kernel without aufs (and now we have automated builds for that) will just use overlay, so future breakage of aufs (like the expected breakage when all pre-6.0 kernels lose official aufs support) will not impact the development of Puppy builds that don't use it. |
Beta Was this translation helpful? Give feedback.
-
Now that #3431 is merged, I will test these kernels for a week or two and then I'll be winding down my involvement with kernels built by https://github.com/puppylinux-woof-CE/woof-CE/actions/workflows/kernel-kit.yml. aufs is about to explode and I'm jumping ship. I'll still fix critical issues that affect the 5.10.x kernel in Vanilla Dpup 9.2.x (at least, for some time), and general issues with kernel-kit that break the dpup kernels pipeline. |
Beta Was this translation helpful? Give feedback.
-
5.10.x builds fail because aufs is broken (https://github.com/puppylinux-woof-CE/woof-CE/runs/8128990805), probably because of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=9255a42fe7ab65bc1972ed7452966199d47b7009. Will aufs get fixed? I don't know.
Once aufs loses support for <=6.0 kernels, it will be risky to keep using aufs with kernel branches it's not guaranteed to work with, or the build will just fail. Some of these are nice and stable longterm branches, and it's sad if Puppy can't use them anymore just because aufs is unavailable.
The question is what to do about this, I see 4 options:
I think 3 is the best option. 1 requires human resources we don't have, 2 is too aggressive (if people want to use aufs with kernel 6.0, that's safe) and 4 is risky and just a temporary solution that leads back to option 1 eventually (i.e. kernel x.y.z+1 can introduce a data loss bug in aufs even if x.y.z worked just fine). EDIT: not a fan of 5 too, because the whole point of using longterm kernels is years of security and stability updates without breaking changes.
3 is a safe compromise, but builds that stick to an old kernel branch will need to change to overlay and that can be a breaking change for users. For example, I'll need to release a Vanilla Dpup 9.3.0 identical to the latest 9.2.x bugfix release, except the change to overlay.
Beta Was this translation helpful? Give feedback.
All reactions