Re: Making aufs work on CentOS 6

2015-11-09 Thread Saurabh Jain
> Is your change same to this commit in aufs3?
>
> 8d602a6 2012-11-09 aufs: for linux-3.7, replace __getname_gfp() by 
> __get_free_page()

Thanks. This is just what I needed. My change was similar, but with
many errors. I have fixed them and now the kernel compiles and runs. I
will let you know if I run into any errors, after testing for the next
12 hours.

--
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911=/4140


Re: Making aufs work on CentOS 6

2015-11-08 Thread sfjro

Hello Saurabh,

Saurabh Jain:
> I am in the situation of having to make aufs work on CentOS 6 / RHEL
> 6. This is unfortunate because I'm not a fan of backporting stuff. My
:::
Me either. I don't like backporting.


> On this, I apply two changes. One is along the lines of
> https://github.com/aia/kernel-patches/blob/master/2.6.32/aufs-vfs-compatibility.patch
> to fix the vfs_statfs() calls. The other is to replace calls to
> __getname_gfp(GFP_NOFS) with calls to (void
> *)__get_free_page(GFP_NOFS);

If you mean
- you replaced  __getname_gfp(GFP_NOFS) by __get_free_page(GFP_NOFS)
- but you didn't replace __putname() by free_page()
then it is a problem.

I'd suggest you to
- replace __getname_gfp(GFP_NOFS) by kmem_cache_alloc(names_cachep, GFP_NOFS)
- and leave __putname() as it is


J. R. Okajima

--


Re: Making aufs work on CentOS 6

2015-11-08 Thread Saurabh Jain
Thanks for your feedback Junjiro

> - you replaced  __getname_gfp(GFP_NOFS) by __get_free_page(GFP_NOFS)
> - but you didn't replace __putname() by free_page()
> then it is a problem.

I just tried replacing __putname() with free_page() but the panic
continues (appended at the end of this email).

> I'd suggest you to
> - replace __getname_gfp(GFP_NOFS) by kmem_cache_alloc(names_cachep, GFP_NOFS)
> - and leave __putname() as it is

Would you send me a diff on how to achieve this? Or some git commit
where you have made this change in aufs?

[   20.697232] kernel BUG at mm/slab.c:535!
[   20.762774] invalid opcode:  [#1] PREEMPT SMP
[   20.835534] last sysfs file: /sys/devices/system/cpu/online
[   20.910067] Modules linked in:
[   20.938372]
[   20.950677] Pid: 254, comm: awk Not tainted 2.6.32-thinux #6
innotek GmbH VirtualBox/VirtualBox
[   21.087175] EIP: 0060:[] EFLAGS: 00010046 CPU: 1
[   21.178507] EIP is at free_block+0x138/0x150
[   21.244643] EAX: c2029b60 EBX: f7003f40 ECX: f69db000 EDX: 4000
[   21.337137] ESI:  EDI: f7039dd4 EBP: 000c ESP: f667df18
[   21.420823]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   21.479205] Process awk (pid: 254, ti=f667c000 task=f64daa30
task.ti=f667c000)
[   21.557544] Stack:
[   21.562742]  f6668000 c1034525 0068 f643fa98 000c f7039dd4
0014 f7018400
[   21.565876] <0> f7039dc0 f7039dd4 000c c1113802 
f7003f40 f700fce4 f6649000
[   21.723566] <0> f7039dc0 0292 f6f46324 c11139a2 0003
0020 f6649000 c111fd4a
[   21.869288] Call Trace:
[   21.902574]  [] ? __do_page_fault+0x1a5/0x3f0
[   21.971998]  [] ? cache_flusharray+0x52/0xc0
[   22.074692]  [] ? kmem_cache_free+0x52/0xa0
[   22.163706]  [] ? do_sys_open+0xfa/0x130
[   22.233187]  [] ? sys_open+0x2c/0x40
[   22.247901]  [] ? syscall_call+0x7/0xb
[   22.248876] Code: 5e 5f 5d c3 8d b4 26 00 00 00 00 2b 4b 28 89 d8
89 4f 18 8b 54 24 04 e8 67 fe ff ff e9 1d ff ff ff 8b 40 0c 8b 10 e9
44 ff ff ff <0f> 0b 8d b6 00 00 00 00 eb f8 8d b4 26 00 00 00 00 8d bc
27 00
[   22.368466] EIP: [] free_block+0x138/0x150 SS:ESP 0068:f667df18
[   22.486055] ---[ end trace d7be6fe347ac80fd ]---
[   22.552524] Kernel panic - not syncing: Fatal exception
[   22.621016] Pid: 254, comm: awk Tainted: G  D--
2.6.32-thinux #6
[   22.713786] Call Trace:
[   22.765750]  [] ? panic+0x69/0x111
[   22.835503]  [] ? oops_end+0x82/0x90
[   22.858101]  [] ? do_invalid_op+0x7f/0x90
[   22.861256]  [] ? free_block+0x138/0x150
[   22.906055]  [] ? __dentry_open+0x207/0x340
[   22.969505]  [] ? nameidata_to_filp+0x51/0x70
[   22.970689]  [] ? aufs_open_nondir+0x0/0x70
[   23.026330]  [] ? do_filp_open+0x5f5/0xb80
[   23.105978]  [] ? error_code+0x73/0x78
[   23.169067]  [] ? shmem_add_to_page_cache+0x10b/0x120
[   23.234178]  [] ? free_block+0x138/0x150
[   23.299313]  [] ? __do_page_fault+0x1a5/0x3f0
[   23.347971]  [] ? cache_flusharray+0x52/0xc0
[   23.415511]  [] ? kmem_cache_free+0x52/0xa0
[   23.496729]  [] ? do_sys_open+0xfa/0x130
[   23.578952]  [] ? sys_open+0x2c/0x40
[   23.633621]  [] ? syscall_call+0x7/0xb

--
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911=/4140


Re: Making aufs work on CentOS 6

2015-11-08 Thread sfjro

Saurabh Jain:
> I just tried replacing __putname() with free_page() but the panic
> continues (appended at the end of this email).

Is your change same to this commit in aufs3?

8d602a6 2012-11-09 aufs: for linux-3.7, replace __getname_gfp() by 
__get_free_page()


> Would you send me a diff on how to achieve this? Or some git commit
> where you have made this change in aufs?

As you might know, I had stopped supporting aufs2 basically.


J. R. Okajima

--
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a 
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911=/4140