From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: with ECARTIS (v1.0.0; list xfs); Mon, 25 Sep 2006 17:13:49 -0700 (PDT) Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by oss.sgi.com (8.12.10/8.12.10/SuSE Linux 0.7) with SMTP id k8Q0DcaG020379 for ; Mon, 25 Sep 2006 17:13:40 -0700 Message-ID: <451870A2.6060406@sgi.com> Date: Tue, 26 Sep 2006 10:13:22 +1000 From: Vlad Apostolov MIME-Version: 1.0 Subject: Re: DMAPI problem on the cvs tree of (2.6.17) SGI-XFS CVS-2006-08-26 References: <45181FF0.7030105@up.ac.za> In-Reply-To: <45181FF0.7030105@up.ac.za> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: xfs-bounce@oss.sgi.com Errors-to: xfs-bounce@oss.sgi.com List-Id: xfs To: Paul Schutte Cc: xfs@oss.sgi.com Hi Paul, To get the 2.6.17 going please turn off CONFIG_XFS_TRACE in .config and rebuild the kernel and the modules. This problem is on my todo list for investigation. Regards, Vlad Paul Schutte wrote: > Hi, > > I am trying to get the DMAPI stuff going on xfs again. I last played > with it back in the 2.4.25 kernel and it worked great. > I now want to resume the work that I started back then, but are unable > to get the dmapi to work on any recent kernel. I tried both 2.4.33 from > the cvs and 2.6.17 from the cvs. (Both checked out on 2006-08-26). > > 2.4.33 was unable to compile. > > make[3]: Entering directory `/mnt/linux-2.4-xfs/fs/dmapi' > gcc -D__KERNEL__ -I/mnt/linux-2.4-xfs/include -Wall -Wstrict-prototypes > -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer > -pipe -mpreferred-stack-boundary=2 -march=athlon -fno-unit-at-a-time > -fno-optimize-sibling-calls -DDEBUG -g -nostdinc -iwithprefix include > -DKBUILD_BASENAME=dmapi_sysent -DEXPORT_SYMTAB -c dmapi_sysent.c > dmapi_sysent.c:54: error: conflicting types for 'dm_fsreg_cachep' > dmapi_private.h:44: error: previous declaration of 'dm_fsreg_cachep' was > here > > The following fixed that: > ---------------------------------------------------------------------- > --- /usr/src/linux-2.4-xfs/fs/dmapi/dmapi_private.h 2005-12-05 > 22:35:19.000000000 +0200 > +++ linux-2.4-xfs/fs/dmapi/dmapi_private.h 2006-09-25 > 18:17:56.047674000 +0200 > @@ -41,11 +41,11 @@ > #define DMAPI_DBG_PROCFS "fs/dmapi_d" /* DMAPI debugging dir */ > #endif > > -extern struct kmem_cache *dm_fsreg_cachep; > -extern struct kmem_cache *dm_tokdata_cachep; > -extern struct kmem_cache *dm_session_cachep; > -extern struct kmem_cache *dm_fsys_map_cachep; > -extern struct kmem_cache *dm_fsys_vptr_cachep; > +extern kmem_cache_t *dm_fsreg_cachep; > +extern kmem_cache_t *dm_tokdata_cachep; > +extern kmem_cache_t *dm_session_cachep; > +extern kmem_cache_t *dm_fsys_map_cachep; > +extern kmem_cache_t *dm_fsys_vptr_cachep; > > typedef struct dm_tokdata { > struct dm_tokdata *td_next; > -------------------------------------------------------------------- > > Then I had hit: > > make[4]: Entering directory `/mnt/linux-2.4-xfs/fs/xfs/dmapi' > gcc -D__KERNEL__ -I/mnt/linux-2.4-xfs/include -Wall -Wstrict-prototypes > -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer > -pipe -mpreferred-stack-boundary=2 -march=athlon -fno-unit-at-a-time > -fno-optimize-sibling-calls -I /mnt/linux-2.4-xfs/fs/xfs -I > /mnt/linux-2.4-xfs/fs/xfs/linux-2.4 -I /mnt/linux-2.4-xfs/fs/dmapi > -nostdinc -iwithprefix include -DKBUILD_BASENAME=xfs_dm -c -o xfs_dm.o > xfs_dm.c > In file included from /mnt/linux-2.4-xfs/fs/xfs/xfs.h:25, > from xfs_dm.c:18: > /mnt/linux-2.4-xfs/fs/xfs/linux-2.4/xfs_linux.h:35:18: warning: extra > tokens at end of #undef directive > xfs_dm.c: In function `xfs_dm_set_fileattr': > xfs_dm.c:2913: error: request for member `tv_sec' in something not a > structure or union > make[4]: *** [xfs_dm.o] Error 1 > make[4]: Leaving directory `/mnt/linux-2.4-xfs/fs/xfs/dmapi' > make[3]: *** [first_rule] Error 2 > make[3]: Leaving directory `/mnt/linux-2.4-xfs/fs/xfs/dmapi' > make[2]: *** [_subdir_dmapi] Error 2 > make[2]: Leaving directory `/mnt/linux-2.4-xfs/fs/xfs' > make[1]: *** [_subdir_xfs] Error 2 > make[1]: Leaving directory `/mnt/linux-2.4-xfs/fs' > make: *** [_dir_fs] Error 2 > > I then did: (which I know is not a proper fix, but I was desperate to > get it to compile and was'nt too concerned about atime problems) > > ---------------------------------------------------------------------- > -------------------- /usr/src/linux-2.4-xfs/fs/xfs/dmapi/xfs_dm.c > 2006-08-26 16:01:18.000000000 +0200 > +++ linux-2.4-xfs/fs/xfs/dmapi/xfs_dm.c 2006-09-25 18:29:49.836283000 > +0200 > @@ -2910,7 +2910,7 @@ > vat.va_mask |= XFS_AT_ATIME; > vat.va_atime.tv_sec = stat.fa_atime; > vat.va_atime.tv_nsec = 0; > - inode->i_atime.tv_sec = stat.fa_atime; > +// inode->i_atime.tv_sec = stat.fa_atime; > } > if (mask & DM_AT_MTIME) { > vat.va_mask |= XFS_AT_MTIME; > ---------------------------------------------------------------------- > > It did compile then, but could not mount a filesystem with dmapi. > Unfortunatedly I did'nt save the kernel output. > > The 2.6.17 compiled cleanly, but also could not mount. > I got the following dump: > > > [17179626.228000] kobject xfs: registering. parent: , set: module > [17179626.228000] kobject_uevent > [17179626.228000] fill_kobj_path: path = '/module/xfs' > [17179626.244000] SGI-XFS CVS-2006-08-26_07:00_UTC with ACLs, security > attributes, realtime, large block numbers, tracing, debug enabled > [17179626.248000] xfs_dmapi: module license 'unspecified' taints kernel. > [17179626.252000] kobject xfs_dmapi: registering. parent: , set: > module > [17179626.252000] kobject_uevent > [17179626.252000] fill_kobj_path: path = '/module/xfs_dmapi' > [17179626.264000] SGI XFS Data Management API subsystem > [17179626.264000] ftype_list/348: Current ftype_list > [17179626.264000] ftype_list/351: FS 0xdc3733c0, ftype 0xe15bc080 xfs > [17179626.264000] ftype_list/353: Done ftype_list > [17179649.888000] Large kmem_alloc attempt, size=6144 > [17179649.888000] show_trace+0x20/0x30 > dump_stack+0x1e/0x20 > [17179649.888000] kmem_alloc+0x134/0x140 [xfs] > kmem_zalloc+0x1e/0x50 [xfs] > [17179649.888000] xfs_alloc_bufhash+0x48/0xd0 [xfs] > xfs_alloc_buftarg+0x63/0x90 [xfs] > [17179649.888000] xfs_mount+0x24c/0x730 [xfs] > vfs_mount+0x9b/0xb0 [xfs] > [17179649.892000] xfs_dm_mount+0x74/0x130 [xfs_dmapi] > vfs_mount+0x9b/0xb0 [xfs] > [17179649.892000] xfs_fs_fill_super+0x9a/0x230 [xfs] > get_sb_bdev+0x100/0x170 > [17179649.892000] xfs_fs_get_sb+0x2e/0x30 [xfs] > do_kern_mount+0x56/0xd0 > [17179649.892000] do_new_mount+0x58/0xb0 > do_mount+0x19f/0x1d0 > [17179649.892000] sys_mount+0x97/0xe0 > sysenter_past_esp+0x54/0x75 > [17179649.892000] Filesystem "md1": Disabling barriers, not supported by > the underlying device > [17179649.912000] XFS mounting filesystem md1 > [17179650.028000] Ending clean XFS mount for filesystem: md1 > [17179650.028000] ftype_list/348: Current ftype_list > [17179650.028000] ftype_list/351: FS 0xdc3733c0, ftype 0xe15bc080 xfs > [17179650.028000] ftype_list/353: Done ftype_list > [17179650.028000] sb_list/330: Current sb_list > [17179650.028000] sb_list/335: Done sb_list > [17179650.028000] ftype_list/348: Current ftype_list > [17179650.028000] ftype_list/351: FS 0xdc3733c0, ftype 0xe15bc080 xfs > [17179650.028000] ftype_list/353: Done ftype_list > [17179650.028000] DMAPI assertion failed: fstype, file: > fs/dmapi/dmapi_mountinfo.c, line: 280 > [17179650.028000] ------------[ cut here ]------------ > [17179650.028000] kernel BUG at fs/dmapi/dmapi_port.h:72! > [17179650.028000] invalid opcode: 0000 [#1] > [17179650.028000] PREEMPT > [17179650.028000] Modules linked in: xfs_dmapi xfs tuner saa7134 > video_buf compat_ioctl32 v4l2_common v4l1_compat ir_kbd_i2c ir_common > videodev ohci1394 ieee > 1394 pdc202xx_new ide_cd cdrom > [17179650.028000] CPU: 0 > [17179650.028000] EIP: 0060:[] Tainted: P VLI > [17179650.028000] EFLAGS: 00010296 (2.6.17-dmapi #1) > [17179650.028000] EIP is at dm_fsys_map_by_fstype+0x64/0x70 > [17179650.028000] eax: 00000061 ebx: 00000000 ecx: 00000000 edx: > 00000001 > [17179650.028000] esi: 00000000 edi: dc368d2c ebp: dc2ffc9c esp: > dc2ffc84 > [17179650.028000] ds: 007b es: 007b ss: 0068 > [17179650.028000] Process mount (pid: 2836, threadinfo=dc2fe000 > task=df97c0b0) > [17179650.028000] Stack: c0554fb8 c054f4ac c054f488 00000118 dc368d2c > 00000000 dc2ffcc8 c019f846 > [17179650.028000] 00000000 c019f9ac c054f501 c051e534 00000161 > dc3733c0 e15bc080 dc368d2c > [17179650.028000] 00000000 dc2ffcf4 c019faa0 e1574680 dfeef4c4 > dc2ffd08 c015ceca c14b0960 > [17179650.028000] Call Trace: > [17179650.028000] show_stack_log_lvl+0x90/0xc0 > show_registers+0x1a3/0x220 > [17179650.028000] die+0x118/0x240 > do_trap+0x87/0xd0 > [17179650.028000] do_invalid_op+0xb5/0xc0 > error_code+0x4f/0x54 > [17179650.028000] sb_list+0x16/0xf0 > dm_fsys_ops+0x30/0x1e0 > [17179650.028000] dm_ip_to_handle+0x20/0x100 > dm_ip_data+0xa9/0x110 > [17179650.028000] dm_send_mount_event+0x72/0x430 > xfs_dm_mount+0x12c/0x130 [xfs_dmapi] > [17179650.028000] vfs_mount+0x9b/0xb0 [xfs] > xfs_fs_fill_super+0x9a/0x230 [xfs] > [17179650.028000] get_sb_bdev+0x100/0x170 > xfs_fs_get_sb+0x2e/0x30 [xfs] > [17179650.028000] do_kern_mount+0x56/0xd0 > do_new_mount+0x58/0xb0 > [17179650.028000] do_mount+0x19f/0x1d0 > sys_mount+0x97/0xe0 > [17179650.028000] sysenter_past_esp+0x54/0x75 > [17179650.028000] Code: c6 5b 89 f0 5e c9 c3 c7 44 24 0c 18 01 00 00 c7 > 44 24 08 88 f4 54 c0 c7 44 24 04 ac f4 54 c0 c7 04 24 b8 4f 55 c0 e8 8c > da f7 ff <0f> > 0b 48 00 72 f4 54 c0 eb a3 89 f6 55 89 e5 56 31 f6 53 83 ec > [17179650.028000] EIP: [] dm_fsys_map_by_fstype+0x64/0x70 > SS:ESP 0068:dc2ffc84 > [17179650.028000] <6>note: mount[2836] exited with preempt_count 1 > [17179652.952000] BUG: sleeping function called from invalid context at > include/linux/rwsem.h:43 > [17179652.952000] in_atomic():1, irqs_disabled():0 > [17179652.952000] show_trace+0x20/0x30 > dump_stack+0x1e/0x20 > [17179652.952000] __might_sleep+0xa1/0xc0 > exit_mm+0x3c/0x140 > [17179652.952000] do_exit+0xda/0x460 > die+0x23a/0x240 > [17179652.952000] do_trap+0x87/0xd0 > do_invalid_op+0xb5/0xc0 > [17179652.952000] error_code+0x4f/0x54 > sb_list+0x16/0xf0 > [17179652.952000] dm_fsys_ops+0x30/0x1e0 > dm_ip_to_handle+0x20/0x100 > [17179652.952000] dm_ip_data+0xa9/0x110 > dm_send_mount_event+0x72/0x430 > [17179652.952000] xfs_dm_mount+0x12c/0x130 [xfs_dmapi] > vfs_mount+0x9b/0xb0 [xfs] > [17179652.952000] xfs_fs_fill_super+0x9a/0x230 [xfs] > get_sb_bdev+0x100/0x170 > [17179652.952000] xfs_fs_get_sb+0x2e/0x30 [xfs] > do_kern_mount+0x56/0xd0 > [17179652.956000] do_new_mount+0x58/0xb0 > do_mount+0x19f/0x1d0 > [17179652.956000] sys_mount+0x97/0xe0 > sysenter_past_esp+0x54/0x75 > > > I used "mount /dev/md1 -o dmapi,mtpt=/mnt /mnt" to try and mount the > filesystem in all the cases (which worked great back in 2.4.25). > > > I would appreciate any help. > > Regards > Paul Schutte >