Login Main site Create account

12.12.2006 01:34

Why do I always have to edit kernel sourcecode?


My graphics card driver doesn't work at it should, Cisco's VPN Client isn't uptodate, VMware Server and Workstation's kernel modules need updates on a regularly basis to compile with the newest linux kernel sources and today I tried to mount a squashfs volume on my system just to find out, that I didn't have squashfs support compiled into my kernel.

Well, no problem with that, gonna have to download, compile and use it, right?

Nope. I once again had to look into the Changelog from 2.6.18 to 2.6.19 because "inode.i_blksize" has been removed. Well, not a really big deal after all, needed to delete three lines of code in the now squashfs'ed kernel (doesn't seem to matter after all, inode.i_blksize didn't have any effect obviously).

But, you guys out there developing software, drivers, etc. for Linux: why can't you be up-to-date?? 2.6.19 isn't out for just about three minutes, it has been officially release two weeks ago! I don't want to download outdated or incompatible software for current kernel releases!

Maybe, at the moment I'm too frustrated about that all, but I simply wanted to modify a file inside of this squashfs for a customer and estimated the amount of work needed to an hour - well, now (including recompiling the kernel and getting it to compile with 2.6.19) it has been more than one hour and I doubt that my customer is willing to pay for the extra-time...

Update: also the return value of "kmem_cache_destroy" has changed. Now it really seems to compile, but who knows...
Comments added earlier to http://tuxx-home.at/archives/2006/12/12/T01_34_15/index.html:
Phillip Lougher on 2006-12-26 03:49:07 wrote:
Not very user friendly, when adding a comment you have to remember what what said in the blog.... Hmm...

Firstly, I'm the author of Squashfs. You're right, having to edit the Squashfs patch because it's out of date is a pain in the ***. Unfortunately, the core VFS maintainers (that's the bit Squashfs plugs into in the kernel), choose to alter the VFS interface. When I notice that's happened I try to release a new version, especially if it coincides with a new release of Squashfs. Unfortunately, I've not had time to release a new version. Essentially what you get with Squashfs (like all free software) is a best-effort release plan, releases are made when I've got time, and this sometimes doesn't match with when I should make a new release.

BTW by trial and error you made the correct changes. The i_blksize field was discarded because there's an effort to reduce the size of the inode structure, and it was decided a per inode blksize was unnecessary, everything now uses the per superblock value. As to why the error message was removed, I missed that discussion, but I expect it was because the function was alterred to never return error, it wasn't as if the filesystem could do anything sensible with the error except print an error message.

Phillip

Your comment (HTML tags will be stripped !!):

To verify You are not a bot, type down text from this image.

Your try: