[Linux-cachefs] [SoftwareSuspend-devel] swsusp2 patch for cachefs

Jonathan Sambrook jonathan at dsvr.net
Wed Nov 17 11:52:29 UTC 2004


hanzl at noel.feld.cvut.cz wrote:
> Hi Jonathan,
> 
> 
>>cachefs ... Works (more or less) for me with 2.6.9 and nfs.]
> 
> 
> Great!

Hmmn... not sure whether the refrigerator call should stay in the loop
or break since the world will probably have changed when the machine is
resumed? I've assumed the latter.


  > Please can you kindly let me know:
> 
> - did you figure out some reasonably small set of patches against
> vanilla 2.6.9 to get this working, or do you use something like
> 2.6.9-rc4-mm1 (which is some 741 patches away from 2.6.9 and I am
> quite scared by the task of selecting the right 20 of them or so)

See http://jonathan.dsvr.co.uk/kernel/patches/fscache/fscache.tbz for:

     i) the relevant patches which I extracted from -mm1

    ii) the userspace patch for util-linux

   iii) an updated nfs.patch.

'Updated' means that it's an old patch I've manually jigged to compile
with the current -mm1 patchset. It doesn't mean that I know anything 
about cachefs or nfs! Caveat emptor. It works(ish) here and I've not 
caught smallpox from it yet. But...



> - When it works _less_, how bad it is? Any serious problems?

It works for my connexion to work's nfs servers but not for my local
servers. Not had time to investigate. They are running differing nfs
versions on differing kernels. Oops:

kernel BUG at fs/fscache/cookie.c:455!
invalid operand: 0000 [#1]
CPU:    0
EIP:    0060:[<c0195cb1>]    Not tainted VLI
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202   (2.6.9)
eax: f702936c   ebx: f70291c0   ecx: f7029278   edx: f7029360
esi: f6807300   edi: f7cd5620   ebp: f4ac1e4c   esp: f4ac1e18
ds: 007b   es: 007b   ss: 0068
Stack: f7029360 00000009 f6807300 f7cd50a4 f6c3fa00 f702936c f7cd5628
f7cd5630
         00000000 f7029360 f7b72800 00000001 f7cd5080 f4ac1e78 c01960bd
f7cd5080
         f7b72800 00000001 00000246 f4ac1e80 f7cd5090 f737bc00 00000001
f68072c7
Call Trace:
   [<c0106eff>] show_stack+0x7f/0xa0
   [<c010709d>] show_registers+0x15d/0x1c0
   [<c0107296>] die+0xf6/0x180
   [<c01077c2>] do_invalid_op+0x102/0x110
   [<c0106b51>] error_code+0x2d/0x38
   [<c01960bd>] __fscache_acquire_cookie+0x10d/0x210
   [<c01e9ae9>] nfs_fill_super+0x2b9/0x3b0
   [<c01ebd91>] nfs_get_sb+0x1d1/0x2a0
   [<c0163608>] do_kern_mount+0x58/0xe0
   [<c0178e29>] do_new_mount+0x89/0xc0
   [<c0179470>] do_mount+0x130/0x180
   [<c0179857>] sys_mount+0x97/0xe0
   [<c01060c3>] syscall_call+0x7/0xb
Code: 8b 02 89 0c 24 ff 50 14 c7 45 ec fe ff ff ff ba ff ff ff ff 8b 45
e8 f0 0f c1 10 0f 88 bf 09 00 00 89 34 24 e8 01 11 fb ff eb b6 <0f> 0b
c7 01 20 94 3f c0 e9 e8 fe ff ff 89 45 ec eb d2 8b 55 d8


  >>EIP; c0195cb1 <fscache_search_for_object+281/320>   <=====

  >>eax; f702936c <pg0+36ab436c/3fa89400>
  >>ebx; f70291c0 <pg0+36ab41c0/3fa89400>
  >>ecx; f7029278 <pg0+36ab4278/3fa89400>
  >>edx; f7029360 <pg0+36ab4360/3fa89400>
  >>esi; f6807300 <pg0+36292300/3fa89400>
  >>edi; f7cd5620 <pg0+37760620/3fa89400>
  >>ebp; f4ac1e4c <pg0+3454ce4c/3fa89400>
  >>esp; f4ac1e18 <pg0+3454ce18/3fa89400>

Trace; c0106eff <show_stack+7f/a0>
Trace; c010709d <show_registers+15d/1c0>
Trace; c0107296 <die+f6/180>
Trace; c01077c2 <do_invalid_op+102/110>
Trace; c0106b51 <error_code+2d/38>
Trace; c01960bd <__fscache_acquire_cookie+10d/210>
Trace; c01e9ae9 <nfs_fill_super+2b9/3b0>
Trace; c01ebd91 <nfs_get_sb+1d1/2a0>
Trace; c0163608 <do_kern_mount+58/e0>
Trace; c0178e29 <do_new_mount+89/c0>
Trace; c0179470 <do_mount+130/180>
Trace; c0179857 <sys_mount+97/e0>
Trace; c01060c3 <syscall_call+7/b>

Code;  c0195c86 <fscache_search_for_object+256/320>
00000000 <_EIP>:
Code;  c0195c86 <fscache_search_for_object+256/320>
     0:   8b 02                     mov    (%edx),%eax
Code;  c0195c88 <fscache_search_for_object+258/320>
     2:   89 0c 24                  mov    %ecx,(%esp)
Code;  c0195c8b <fscache_search_for_object+25b/320>
     5:   ff 50 14                  call   *0x14(%eax)
Code;  c0195c8e <fscache_search_for_object+25e/320>
     8:   c7 45 ec fe ff ff ff      movl   $0xfffffffe,0xffffffec(%ebp)
Code;  c0195c95 <fscache_search_for_object+265/320>
     f:   ba ff ff ff ff            mov    $0xffffffff,%edx
Code;  c0195c9a <fscache_search_for_object+26a/320>
    14:   8b 45 e8                  mov    0xffffffe8(%ebp),%eax
Code;  c0195c9d <fscache_search_for_object+26d/320>
    17:   f0 0f c1 10               lock xadd %edx,(%eax)
Code;  c0195ca1 <fscache_search_for_object+271/320>
    1b:   0f 88 bf 09 00 00         js     9e0 <_EIP+0x9e0>
Code;  c0195ca7 <fscache_search_for_object+277/320>
    21:   89 34 24                  mov    %esi,(%esp)
Code;  c0195caa <fscache_search_for_object+27a/320>
    24:   e8 01 11 fb ff            call   fffb112a <_EIP+0xfffb112a>
Code;  c0195caf <fscache_search_for_object+27f/320>
    29:   eb b6                     jmp    ffffffe1 <_EIP+0xffffffe1>
Code;  c0195cb1 <fscache_search_for_object+281/320>   <=====
    2b:   0f 0b                     ud2a      <=====
Code;  c0195cb3 <fscache_search_for_object+283/320>
    2d:   c7 01 20 94 3f c0         movl   $0xc03f9420,(%ecx)
Code;  c0195cb9 <fscache_search_for_object+289/320>
    33:   e9 e8 fe ff ff            jmp    ffffff20 <_EIP+0xffffff20>
Code;  c0195cbe <fscache_search_for_object+28e/320>
    38:   89 45 ec                  mov    %eax,0xffffffec(%ebp)
Code;  c0195cc1 <fscache_search_for_object+291/320>
    3b:   eb d2                     jmp    f <_EIP+0xf>
Code;  c0195cc3 <fscache_search_for_object+293/320>
    3d:   8b 55 d8                  mov    0xffffffd8(%ebp),%edx




> (I'd like to use bproc [process migration] patch together with cachefs
> and I think that 2.6.9 with some 20 cachefs-related patches would be
> much better base than 2.6.9-rc4-mm1.)
> 
> (Maybe 2.6.9-rc4-mm1 is not the latest, I just cannot connect to
> ftp.kernel.org now to look.)

The attached are from 2.6.9-mm1.


> 
> Thanks
> 
> Vaclav Hanzl
> 
> --
> Linux-cachefs mailing list
> Linux-cachefs at redhat.com
> http://www.redhat.com/mailman/listinfo/linux-cachefs
> 





More information about the Linux-cachefs mailing list