Hi Robert,
Thanks for the reply. Here is the status of each of my issues. I think Issues 1,2,4 of mine are simple compilation issues that should still be fixed and for issues 3,5 I tried to explain them better to make sure wasn't doing anything wrong.
For Issue 4:
----------------------------
Thanks for finding that previous submission, I didn't see it was already posted. Looks like it is still unfixed - how/when will this be implemented? I'd like to fix this for others if possible.
For Issue 1:
----------------------------
I don't think you have the compilation error for my "issue 1" regarding the zero_user_segment(...) function because of the "#if" before that checks the linux kernel version. Compilation for the zero_user_segment(...) only happens if the kernel version is less than version 2,6,25. My kernel is before this and yours is after that, which is why I see the issue and you don't. I'm guessing if you remove the #if around the zero_user_segment(...), your yaffs won't compile - just as a double check if you really wanted to. Either way, the function zero_user_segment(...) should still be moved above where it is used in yaffs_vfs.c.
For Issue 2:
----------------------------
Similar to Issue #1, I don't think you saw this issue because of the "#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 28))" surrounding the macro. Again, your linux kernel version is greater than the checked version, while mine is less. This is why lowering the Kernel Version check from 2,6,28 to 2,6,17 allows for my kernel version to compile, while yours and probably most every other user's kernel compiles fine.
It looks like issues 1 and 2 for me are from using a really old kernel version that probably doesn't get tested much. I believe the version I'm using (2.6.18), should be supported right, or is there a minimum kernel version I am unaware of?
Issue 3:
-----------------------------
Thanks - I didn't see the mounting option for ecc tags that seems to work too. I was merely concerned that changing my menuconfig options didn't actually do anything regarding the no_tags_ecc. It was just really misleading to change an option in the menuconfig that doesn't actually do anything. If passing a flag in during mount is the standard way to do this, I'd like to see the "Disable yaffs from doing ECC on tags by default" kernel option removed from the menuconfig as it doesn't do anything (or at least it doesn't for me...). Otherwise, adding my fix allows for the menuconfig option to be checked and used.
What happens if you don't use the mount option, then try and change the menuconfig option for Ecc on tags? I'd be curious to see if the value of your "param0>no_tags_ecc" properly changes with the menuconfig option. Adding a printk in yaffs_vfs.c in function yaffs_internal_read_super(...), on approx. line 2870, right above where the tags are checked: "if (options.tags_ecc_overridden)".
Issue 5:
-----------------------------
I'll just disable this auto checking for my use - doesn't sound like this is an issue for other people. For updating my system, updating the kernel causes the FileSystem to become unbootable because yaffs code does an auto-check and says inband tags should be on, which is fine. The problem happens when the FileSystem that is currently installed on the device does not have inband tags, then on the next power-cycle yaffs assumes in-band tags should be on when they aren't. Then the format of the FileSystem is out of sync / wrong with the configuration. Hopefully that makes sense? This is just a problem from going from an old to new version of yaffs where the inband tags option changes. If I do a fresh install of the FileSystem, there is no issue as the FileSystem is written with the tags and is assumed to have them enabled too.