"Hans-Peter Jansen": > after moving from 2.6.34.5 to 2.6.34.7, I suffer from crashes like this: > > Sep 20 03:51:37 tyrex kernel: [18169.930270] ------------[ cut here ]------= > ------ > Sep 20 03:51:37 tyrex kernel: [18169.939562] kernel BUG at /usr/src/package= > s/BUILD/aufs2-standalone.tree-34-20100823/obj > /pae/fs/aufs/dynop.c:198!
Hi Pete, BUG at fs/aufs/dynop.c:198 means - include/linux/fs.h defines struct address_space_operations. - the struct is changed. - and aufs should follow the change. I looked at > http://download.opensuse.org/repositories/home:/frispete:/kernel-2.6.34/ope= > nSUSE_11.1/ and found SoN-23-mm-swapfile.patch in patches.suse.tar.bz2 adds some members into struct address_space_operations. fs/aufs/dynop.c:198 detects this change by its size, and gave you the error. In short, to address this probelm you need to add some simple lines such as DySetAop(swapon); DySetAop(swapoff); DySetAop(swap_out); DySetAop(swap_in); just before the line 198, DyDbgSize(cnt, *h_aop). Ideally, you should read and understand these new members, and consider about "Does aufs should support them?" The above simple "DySetAop()" macros mean "aufs doesn't support them". If the mainline kernel takes SoN-23-mm-swapfile.patch, I will look closer and consider that. Currently, it is unnecessary for aufs to support (override) the most members in struct address_space_operations. So I guess these new members will be same. ie. the simple "DySetAop()" macros will be enough. But it is just my guess. Essentially careful consideration is necessary. J. R. Okajima ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev