> Daniel Phillips wrote:
>
> > On Thursday 28 August 2003 16:31, Svetoslav Slavtchev wrote:
> >
> >>Hi ,
> >>i'm tring to incorporate the dev-mapper 1.00.04 in a kernel that already
> >>has int fls(int x)
> >>which conflicts with the definitions in dm-io.[ch]
> >>(the kernel comes from mandrake cooker and the fls(x) definition is
> added
> >>by swsusp patches)
> >>
> >>so i wanted to ask you whether the attached patch looks OK,
> >>it removes the definitions of fls & generic_fls, changes log2_align to
> use
> >>fls(int x),
> >>and adjusts the only referance of log2_align to use int instead of
> >>unsigned int.
> >
> >
> > That's fine, except there's no point in changing the unsigned ints to
> signed
> > int: unsigned describes more accurately what they are. The automatic
> > conversion doesn't generate a warning for you, does it?
> >
> the issue is that fls(x) function in 2.6 use int, same as the fls(x) in
> the swsusp patches, while fls(x) in dm patches use unsigned int.
> so which would the correct implementation of fls be?
and when i use the dm fls() definition (prefix the fls() definitions with
dm) i can not
mount a xfs LV without xfs_repair -L, i get this (shortly, longer ->
attachment
runed trough ksymoops)
XFS mounting filesystem device-mapper(254,1)
Starting XFS recovery on filesystem: device-mapper(254,1) (dev: 254/1)
Filesystem "device-mapper(254,1)": XFS internal error
xlog_valid_rec_header(1)
at line 3428 of file xfs_log_recover.c. Caller 0xe0a086af
da347bac e0a084d2 e0a3b914 00000001 dad9d000 e0a3b6e1 00000d64 e0a086af
da607ce0 00000345 00000000 00000001 e0a086af da607ce0 da1bae00
00000345
00000000 da607ce0 00000345 00000000 00000001 dc072980 dc072a40
00000000
Call Trace: [<e0a084d2>] [<e0a3b914>] [<e0a3b6e1>] [<e0a086af>]
[<e0a086af>]
[<e0a08ed7>] [<e0a08f61>] [<e0a09102>] [<e0a3e440>] [<e0a0128c>]
[<e0a0a684>]
[<e0a1d0a9>] [<e0a09c96>] [<e09fedf3>] [<e0a11cfa>] [<e0a252eb>]
[<e0a24fc1>]
[<c0141bcc>] [<e0a40c2c>] [<c014253f>] [<e0a40c2c>] [<c0142867>]
[<e0a40c2c>]
[<c0153c05>] [<c0153ec8>] [<c0153d3d>] [<c01542ba>] [<c0108d63>]
XFS: log mount/recovery failed
XFS: log mount failed
this is with:
device-mapper: 4.0.3-ioctl (2003-08-22) initialised: dm@xxxxxxxxxxxxxx
[root@svetljo /]# vgscan --version
LVM version: 2.00.06 (2003-08-20)
Library version: 1.00.04-ioctl-cvs (2003-08-21)
Driver version: 4.0.3
when i use the swsusp fls() there is no such problem
reiserfs doesn't seem to have such issues
best,
svetljo
--
COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
--------------------------------------------------
1. GMX TopMail - Platz 1 und Testsieger!
2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post
ksymoops 2.4.8 on i686 2.4.22-1mdk-bruby-usb. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.22-1mdk-bruby-usb/ (default)
-m /boot/System.map-2.4.22-1mdk-bruby-usb (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
Warning (compare_ksyms_lsmod): module ext3 is in lsmod but not in ksyms, probably no symbols exported
Warning (map_ksym_to_module): cannot match loaded module xor to a unique module object. Trace may not be reliable.
SGI XFS snapshot-xfs-2.4.21-2003-07-07_02:01_UTC with ACLs, no debug enabled
dcac9bac e0a084d2 e0a3b914 00000001 dd30cc00 e0a3b6e1 00000d64 e0a086af
c17895a0 00000345 00000000 00000001 e0a086af c17895a0 dc0faa00 00000345
00000000 c17895a0 00000345 00000000 00000001 db321380 db321440 00000000
Call Trace: [<e0a084d2>] [<e0a3b914>] [<e0a3b6e1>] [<e0a086af>] [<e0a086af>]
[<e0a08ed7>] [<e0a08f61>] [<e0a09102>] [<e0a3e440>] [<e0a0128c>] [<e0a0a684>]
[<e0a1d0a9>] [<e0a09c96>] [<e09fedf3>] [<e0a11cfa>] [<e0a252eb>] [<e0a24fc1>]
[<c0141bcc>] [<e0a40c2c>] [<c014253f>] [<e0a40c2c>] [<c0142867>] [<e0a40c2c>]
[<c0153c05>] [<c0153ec8>] [<c0153d3d>] [<c01542ba>] [<c0108d63>]
Warning (Oops_read): Code line not seen, dumping what data is available
Trace; e0a084d2 <[xfs]xlog_valid_rec_header+92/100>
Trace; e0a3b914 <[xfs]__module_using_checksums+6ef/4dbb>
Trace; e0a3b6e1 <[xfs]__module_using_checksums+4bc/4dbb>
Trace; e0a086af <[xfs]xlog_do_recovery_pass+16f/950>
Trace; e0a086af <[xfs]xlog_do_recovery_pass+16f/950>
Trace; e0a08ed7 <[xfs]xlog_do_log_recovery+47/b0>
Trace; e0a08f61 <[xfs]xlog_do_recover+21/120>
Trace; e0a09102 <[xfs]xlog_recover+a2/c0>
Trace; e0a3e440 <[xfs]__module_using_checksums+321b/4dbb>
Trace; e0a0128c <[xfs]xfs_log_mount+7c/f0>
Trace; e0a0a684 <[xfs]xfs_mountfs+654/db0>
Trace; e0a1d0a9 <[xfs].text.lock.page_buf+23/2a>
Trace; e0a09c96 <[xfs]xfs_readsb+d6/1e0>
Trace; e09fedf3 <[xfs]xfs_ioinit+23/30>
Trace; e0a11cfa <[xfs]xfs_mount+27a/3a0>
Trace; e0a252eb <[xfs]vfs_mount+2b/30>
Trace; e0a24fc1 <[xfs]linvfs_read_super+81/180>
Trace; c0141bcc <alloc_super+2c/160>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c014253f <get_sb_bdev+1af/290>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c0142867 <do_kern_mount+127/140>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c0153c05 <do_add_mount+75/160>
Trace; c0153ec8 <do_mount+138/1a0>
Trace; c0153d3d <copy_mount_options+4d/a0>
Trace; c01542ba <sys_mount+8a/c0>
Trace; c0108d63 <system_call+33/40>
8139too Fast Ethernet driver 0.9.26
dc84fbac e0a084d2 e0a3b914 00000001 dc857000 e0a3b6e1 00000d64 e0a086af
da4c2ce0 00000345 00000000 00000001 e0a086af da4c2ce0 da4bde00 00000345
00000000 da4c2ce0 00000345 00000000 00000001 db321980 db321a40 00000000
Call Trace: [<e0a084d2>] [<e0a3b914>] [<e0a3b6e1>] [<e0a086af>] [<e0a086af>]
[<e0a08ed7>] [<e0a08f61>] [<e0a09102>] [<e0a3e440>] [<e0a0128c>] [<e0a0a684>]
[<e0a1d0a9>] [<e0a09c96>] [<e09fedf3>] [<e0a11cfa>] [<e0a252eb>] [<e0a24fc1>]
[<c0141bcc>] [<e0a40c2c>] [<c014253f>] [<e0a40c2c>] [<c0142867>] [<e0a40c2c>]
[<c0153c05>] [<c0153ec8>] [<c0153d3d>] [<c01542ba>] [<c0108d63>]
Warning (Oops_read): Code line not seen, dumping what data is available
Trace; e0a084d2 <[xfs]xlog_valid_rec_header+92/100>
Trace; e0a3b914 <[xfs]__module_using_checksums+6ef/4dbb>
Trace; e0a3b6e1 <[xfs]__module_using_checksums+4bc/4dbb>
Trace; e0a086af <[xfs]xlog_do_recovery_pass+16f/950>
Trace; e0a086af <[xfs]xlog_do_recovery_pass+16f/950>
Trace; e0a08ed7 <[xfs]xlog_do_log_recovery+47/b0>
Trace; e0a08f61 <[xfs]xlog_do_recover+21/120>
Trace; e0a09102 <[xfs]xlog_recover+a2/c0>
Trace; e0a3e440 <[xfs]__module_using_checksums+321b/4dbb>
Trace; e0a0128c <[xfs]xfs_log_mount+7c/f0>
Trace; e0a0a684 <[xfs]xfs_mountfs+654/db0>
Trace; e0a1d0a9 <[xfs].text.lock.page_buf+23/2a>
Trace; e0a09c96 <[xfs]xfs_readsb+d6/1e0>
Trace; e09fedf3 <[xfs]xfs_ioinit+23/30>
Trace; e0a11cfa <[xfs]xfs_mount+27a/3a0>
Trace; e0a252eb <[xfs]vfs_mount+2b/30>
Trace; e0a24fc1 <[xfs]linvfs_read_super+81/180>
Trace; c0141bcc <alloc_super+2c/160>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c014253f <get_sb_bdev+1af/290>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c0142867 <do_kern_mount+127/140>
Trace; e0a40c2c <[xfs]xfs_fs_type+0/34>
Trace; c0153c05 <do_add_mount+75/160>
Trace; c0153ec8 <do_mount+138/1a0>
Trace; c0153d3d <copy_mount_options+4d/a0>
Trace; c01542ba <sys_mount+8a/c0>
Trace; c0108d63 <system_call+33/40>
5 warnings issued. Results may not be reliable.