From: hk <hk...@hk...> - 2014-07-23 20:16:04
|
Hi, thanks for the help. I will try a back port. Few structures and APIs have changed, but the errors are not so numerous. In the first step I will focus on the changes in file.c. In this context, there were changes. I need to understand the problem even more. Is the condition or the missing wake-up the reason for the hung. fs/fuse/dir.c:28:9: error: dereferencing pointer to incomplete type fs/fuse/dir.c:277:2: error: implicit declaration of function ‘check_submounts_and_drop’ [-Werror=implicit-function-declaration] fs/fuse/dir.c:596:2: error: implicit declaration of function ‘d_instantiate_no_diralias’ [-Werror=implicit-function-declaration] fs/fuse/dir.c:788:15: error: ‘RENAME_EXCHANGE’ undeclared (first use in this function) fs/fuse/dir.c:831:16: error: ‘RENAME_NOREPLACE’ undeclared (first use in this function) fs/fuse/dir.c:831:35: error: ‘RENAME_EXCHANGE’ undeclared (first use in this function) fs/fuse/dir.c:1227:3: error: implicit declaration of function ‘dir_emit’ [-Werror=implicit-function-declaration] fs/fuse/dir.c:1233:6: error: dereferencing pointer to incomplete type fs/fuse/dir.c:1378:7: error: dereferencing pointer to incomplete type fs/fuse/dir.c:1422:32: error: dereferencing pointer to incomplete type fs/fuse/dir.c:1425:32: error: dereferencing pointer to incomplete type fs/fuse/dir.c:1799:3: error: too few arguments to function ‘truncate_pagecache’ fs/fuse/dir.c:2021:2: error: unknown field ‘rename2’ specified in initializer fs/fuse/dir.c:2038:2: error: unknown field ‘iterate’ specified in initializer fs/fuse/file.c:1239:11: error: too few arguments to function ‘generic_file_direct_write’ fs/fuse/file.c:2140:2: error: unknown field ‘map_pages’ specified in initializer fs/fuse/file.c:2140:15: error: ‘filemap_map_pages’ undeclared here (not in a function) fs/fuse/inode.c:126:2: error: implicit declaration of function ‘truncate_inode_pages_final’ [-Werror=implicit-function-declaration] fs/fuse/inode.c:232:4: error: too few arguments to function ‘truncate_pagecache’ fs/fuse/inode.c:957:46: error: ‘BDI_CAP_STRICTLIMIT’ undeclared (first use in this function) fs/fuse/cuse.c:593:12: error: ‘CUSE_MINOR’ undeclared here (not in a function) fs/fuse/cuse.c:619:12: error: ‘struct class’ has no member named ‘dev_groups’ fs/fuse/cuse.c:619:27: error: ‘cuse_class_dev_groups’ undeclared (first use in this function) Thx Harald On Wed, 23 Jul 2014 18:44:56 +0400, Maxim Patlasov <mpa...@pa...> wrote: > On 07/23/2014 06:27 PM, hk wrote: >> Hi, >> >> I'll try to switch to 3.15, but this is not so easy. I use board vendor >> patches to get my system up and running. >> >> Would a backport also be an option? > > Yes, I can try to port kernel fuse from 3.15 to 3.10.40, but this will > take a while and I can start only in a few days. Either you can do it > yourself if you have time and desire - copy fs/fuse/*.[ch] and > include/uapi/linux/fuse.h from 3.15 to your 3.10.40 kernel build > location and polish angles until compiler gets happy. > > Thanks, > Maxim > >> >> thx >> Harald >> >> >> On Wed, 23 Jul 2014 16:23:58 +0400, Maxim Patlasov >> <mpa...@pa...> wrote: >>> Hi, >>> >>> On 07/23/2014 03:48 PM, hk wrote: >>>> Hi, >>>> thx for the hint. >>>> >>>> I have installed the patch but without success. The same problem occurs >>>> again. >>> Sorry for that. Can you try to reproduce the problem on a Linus' modern >>> kernel (e.g. v3.15)? There was a huge rework of fuse writeback subsystem >>> since 3.10 and some fixes might slip of 3.10.40. >>> >>> Thanks, >>> Maxim >>> >>>> INFO: task webfuse_server:1714 blocked for more than 60 seconds. >>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this >> message. >>>> webfuse_server D c03cd980 0 1714 1637 0x00000001 >>>> Backtrace: >>>> [<c03cd6f4>] (__schedule+0x0/0x328) from [<c03cddfc>] >>>> (schedule+0xa0/0xb8) >>>> [<c03cdd5c>] (schedule+0x0/0xb8) from [<c016cb88>] >>>> (fuse_wait_on_page_writeback+0x8c/0xac) >>>> r4:c6fdbc0c r3:c6fdbc18 >>>> [<c016cafc>] (fuse_wait_on_page_writeback+0x0/0xac) from [<c016cc1c>] >>>> (fuse_page_mkwrite+0x74/0x7c) >>>> r7:c016cba8 r6:b6b0d000 r5:c69da780 r4:c067f280 >>>> [<c016cba8>] (fuse_page_mkwrite+0x0/0x7c) from [<c007e76c>] >>>> (handle_pte_fault+0x500/0xab4) >>>> r5:c6e413c8 r4:c067f280 >>>> [<c007e26c>] (handle_pte_fault+0x0/0xab4) from [<c007edcc>] >>>> (handle_mm_fault+0xac/0xd4) >>>> [<c007ed20>] (handle_mm_fault+0x0/0xd4) from [<c001448c>] >>>> (do_page_fault+0x12c/0x288) >>>> [<c0014360>] (do_page_fault+0x0/0x288) from [<c0008600>] >>>> (do_DataAbort+0x3c/0xa0) >>>> [<c00085c4>] (do_DataAbort+0x0/0xa0) from [<c000e618>] >>>> (__dabt_svc+0x38/0x60) >>>> Exception stack(0xc6fdbdd8 to 0xc6fdbe20) >>>> bdc0: b6b0d60f >>>> 00000000 >>>> bde0: c6fdbfb0 4056f489 0005d275 c6fdbfb0 c0015ca8 0002c8a0 00000801 >>>> 00000000 >>>> be00: b6b0d60f c6fdbe3c 00000002 c6fdbe24 c0016114 c0015d70 40000013 >>>> ffffffff >>>> r7:c6fdbe0c r6:ffffffff r5:40000013 r4:c0015d70 >>>> [<c0015ca8>] (do_alignment_ldrstr+0x0/0xf8) from [<c0016114>] >>>> (do_alignment+0x24c/0x3f8) >>>> r6:c0015ca8 r5:c6fdbfb0 r4:00000028 >>>> [<c0015ec8>] (do_alignment+0x0/0x3f8) from [<c0008600>] >>>> (do_DataAbort+0x3c/0xa0) >>>> [<c00085c4>] (do_DataAbort+0x0/0xa0) from [<c000e820>] >>>> (__dabt_usr+0x40/0x60) >>>> Exception stack(0xc6fdbfb0 to 0xc6fdbff8) >>>> bfa0: 00000000 00000000 4056f489 >>>> 0017b658 >>>> bfc0: 00000001 00000000 00000028 00f08cbe 00000000 00000003 0000000f >>>> 0000000f >>>> bfe0: b6b0d5e7 bee24968 41206f55 0002c8a4 80000010 ffffffff >>>> r7:00f08cbe r6:ffffffff r5:80000010 r4:0002c8a0 >>>> >>>> >>>> Any other suggestions? >>>> Harald >>>> >>>> >>>> On Tue, 22 Jul 2014 14:33:21 +0400, Maxim Patlasov >>>> <mpa...@pa...> wrote: >>>>> Hi, >>>>> >>>>> On 07/22/2014 11:30 AM, hk wrote: >>>>>> Hello, >>>>>> I ported my fuse application from 2.6.20 to 3.10 kernel. >>>>>> Now the application hangs from time to time. It seems >>>>>> a kernel problem happens. >>>>> This may be due to the lack of Miklos' fix >>>>> cca2437045dda994d23bd65891b71e091fa35b5a in 3.10.40. >>>>> >>>>> Thanks, >>>>> Maxim >>>>> >>>>>> Here is the trace: >>>>>> >>>>>> INFO: task webfuse_server:1713 blocked for more than 60 seconds. >>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this >>>> message. >>>>>> webfuse_server D c03cd940 0 1713 1637 0x00000001 >>>>>> Backtrace: >>>>>> [<c03cd6b4>] (__schedule+0x0/0x328) from [<c03cddbc>] >>>>>> (schedule+0xa0/0xb8) >>>>>> [<c03cdd1c>] (schedule+0x0/0xb8) from [<c016cb88>] >>>>>> (fuse_wait_on_page_writeback+0x8c/0xac) >>>>>> r4:c686bc14 r3:c686bc20 >>>>>> [<c016cafc>] (fuse_wait_on_page_writeback+0x0/0xac) from [<c016cbcc>] >>>>>> (fuse_page_mkwrite+0x24/0x2c) >>>>>> r7:c016cba8 r6:b6ae6000 r5:c683bd68 r4:c0686980 >>>>>> [<c016cba8>] (fuse_page_mkwrite+0x0/0x2c) from [<c007e76c>] >>>>>> (handle_pte_fault+0x500/0xab4) >>>>>> [<c007e26c>] (handle_pte_fault+0x0/0xab4) from [<c007edcc>] >>>>>> (handle_mm_fault+0xac/0xd4) >>>>>> [<c007ed20>] (handle_mm_fault+0x0/0xd4) from [<c001448c>] >>>>>> (do_page_fault+0x12c/0x288) >>>>>> [<c0014360>] (do_page_fault+0x0/0x288) from [<c0008600>] >>>>>> (do_DataAbort+0x3c/0xa0) >>>>>> [<c00085c4>] (do_DataAbort+0x0/0xa0) from [<c000e618>] >>>>>> (__dabt_svc+0x38/0x60) >>>>>> Exception stack(0xc686bdd8 to 0xc686be20) >>>>>> bdc0: b6ae660f >>>>>> 00000000 >>>>>> bde0: c686bfb0 4056f489 02388468 c686bfb0 c0015ca8 0002c8a0 00000801 >>>>>> 00000000 >>>>>> be00: b6ae660f c686be3c 00000002 c686be24 c0016114 c0015d70 40000013 >>>>>> ffffffff >>>>>> r7:c686be0c r6:ffffffff r5:40000013 r4:c0015d70 >>>>>> [<c0015ca8>] (do_alignment_ldrstr+0x0/0xf8) from [<c0016114>] >>>>>> (do_alignment+0x24c/0x3f8) >>>>>> r6:c0015ca8 r5:c686bfb0 r4:00000028 >>>>>> [<c0015ec8>] (do_alignment+0x0/0x3f8) from [<c0008600>] >>>>>> (do_DataAbort+0x3c/0xa0) >>>>>> [<c00085c4>] (do_DataAbort+0x0/0xa0) from [<c000e820>] >>>>>> (__dabt_usr+0x40/0x60) >>>>>> Exception stack(0xc686bfb0 to 0xc686bff8) >>>>>> bfa0: 00000000 00000000 4056f489 >>>>>> 0017b658 >>>>>> bfc0: 00000001 00000000 00000028 00b3acbe 00000000 00000003 0000000f >>>>>> 0000000f >>>>>> bfe0: b6ae65e7 beda7968 40088777 0002c8a4 20000010 ffffffff >>>>>> r7:00b3acbe r6:ffffffff r5:20000010 r4:0002c8a0 >>>>>> >>>>>> >>>>>> System: >>>>>> Arm Linux EABI with 3.10.40 >>>>>> arm926ej-s (Freescale MX28 / gcc 4.7.3 >>>>>> Tested with few libfuse versions (current 2.9.3) >>>>>> uclibc 0.9.33.2 >>>>>> >>>>>> Any hints are welcome >>>>>> Harald >>>>>> >>>>>> >>>>>> >> ------------------------------------------------------------------------------ >>>>>> Want fast and easy access to all the code in your enterprise? Index >> and >>>>>> search up to 200,000 lines of code with a free copy of Black Duck >>>>>> Code Sight - the same software that powers the world's largest code >>>>>> search on Ohloh, the Black Duck Open Hub! Try it now. >>>>>> http://p.sf.net/sfu/bds >>>>>> _______________________________________________ >>>>>> fuse-devel mailing list >>>>>> fus...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/fuse-devel >>>>>> >>>>>> >>> >>> >> ------------------------------------------------------------------------------ >>> Want fast and easy access to all the code in your enterprise? Index and >>> search up to 200,000 lines of code with a free copy of Black Duck >>> Code Sight - the same software that powers the world's largest code >>> search on Ohloh, the Black Duck Open Hub! Try it now. >>> http://p.sf.net/sfu/bds >>> _______________________________________________ >>> fuse-devel mailing list >>> fus...@li... >>> https://lists.sourceforge.net/lists/listinfo/fuse-devel >> > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > fuse-devel mailing list > fus...@li... > https://lists.sourceforge.net/lists/listinfo/fuse-devel |