Re: au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: Jrgen P. Tjern: [2297447.631266] aufs 20070702 [2297509.899071] aufs au_new_inode:347:smbd[27416]: Un-notified UDBA or directly renamed dir, b0, xfs, Simon - Garfunkel - The Best Of Simon - Garfunkel - Song For The Asking.mp3, hi1610612893, i16. Please show me your /sys/fs/aufs/*/xino file, if it exists. [EMAIL PROTECTED]:~$ cat /sys/fs/aufs/*/xino 0x4096 8192 0: 1, 0x4096 3821854336 1: 1, 0x4096 4037693024 2: 1, 0x4096 57868296 3: 1, 0x4096 494731296 And please try this patch. I'm updating to the latest monday release now (20070709). I'll let you know if the problem is still there. :-) Thanks! Kindest regards, Jørgen P. Tjernø Ps. Sorry for the slow reply, kinda busy. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGlgvywqQbW3my7pcRAjLvAKCErgexWWnQj6SVjlFlu9SWW/E+fACfcTQz 3kp7wS2c+sDK+Brs7c5V4D0= =5uxn -END PGP SIGNATURE- - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: Hello Jorgen, Jrgen_P._Tjern: [EMAIL PROTECTED] wrote: Thank you very much for your tests. Currently I am considering about the bug in aufs inotify handler. Do you know whether this file 'Simon and Garfunkel ... .mp3' has ever been renamed or not? (bah, sorry for misposting this reply directly to you, Junjiro) It shouldn't have been renamed ever, no. :-) I think the root cause of this problem is mis-managing inode number after unlink/rename. I have re-implemented inode management in aufs, please try the latetest code. And if the problem (the warning) arise again, please let me know. Thank you Junjiro Okajima I just upgraded to the newest version, and this is my dmesg, shortly after mounting my stuff: [2297447.631266] aufs 20070702 [2297509.899071] aufs au_new_inode:347:smbd[27416]: Un-notified UDBA or directly renamed dir, b0, xfs, Simon - Garfunkel - The Best Of Simon - Garfunkel - Song For The Asking.mp3, hi1610612893, i16. It's not an access directly to the underlying fs, so how come this happens? Is this anything like hte broken_ino? Thanks for your quick responses. :-) Kindest regards, Jørgen P. Tjernø. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGiOWAwqQbW3my7pcRAqaKAJ4zqZKoIyku8aRXxLu5cRq72h/uvgCfbRGm 6NzoaeTneN+5zqAjbAIS84w= =/CGV -END PGP SIGNATURE- - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen P. Tjern: [2297447.631266] aufs 20070702 [2297509.899071] aufs au_new_inode:347:smbd[27416]: Un-notified UDBA or directly renamed dir, b0, xfs, Simon - Garfunkel - The Best Of Simon - Garfunkel - Song For The Asking.mp3, hi1610612893, i16. It's not an access directly to the underlying fs, so how come this happens? Is this anything like hte broken_ino? It is equivalent to the old msg 'broken ino.' And as I wrote, it is harmless basically. I think I found the root cause. Probably current aufs cannot handle 'too large inode number', in your case 1610612893 on xfs. The aufs xino file is indexed by the inode number on branch fs. If the inode number is too large, it may exceed the file size limit. Junjiro Okajima - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen P. Tjern: [2297447.631266] aufs 20070702 [2297509.899071] aufs au_new_inode:347:smbd[27416]: Un-notified UDBA or directly renamed dir, b0, xfs, Simon - Garfunkel - The Best Of Simon - Garfunkel - Song For The Asking.mp3, hi1610612893, i16. Please show me your /sys/fs/aufs/*/xino file, if it exists. And please try this patch. Junjiro Okajima -- Index: fs/aufs/xino.c === RCS file: /cvsroot/aufs/aufs/fs/aufs/xino.c,v retrieving revision 1.32 diff -u -p -r1.32 xino.c --- fs/aufs/xino.c 2 Jul 2007 05:11:13 - 1.32 +++ fs/aufs/xino.c 2 Jul 2007 12:58:23 - @@ -151,7 +151,8 @@ int xino_write(struct super_block *sb, a br = stobr(sb, bindex); AuDebugOn(!br || !br-br_xino); - pos = h_ino * sizeof(*xino); + pos = h_ino; + pos *= sizeof(*xino); sz = xino_fwrite(stosi(sb)-si_xwrite, br-br_xino, xino, sizeof(*xino), pos); //if (LktrCond) sz = 1; @@ -358,7 +359,8 @@ int xino_read(struct super_block *sb, au br = stobr(sb, bindex); file = br-br_xino; AuDebugOn(!file); - pos = h_ino * sizeof(*xino); + pos = h_ino; + pos *= sizeof(*xino); if (i_size_read(file-f_dentry-d_inode) pos + sizeof(*xino)) return 0; /* no ino */ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen_P._Tjern: Here is the dmesg, it has only occured once after I applied the patch. I also updated to the newest aufs. :-) The machine isn't being used as regularly during summer, so use-pattern is a bit different now. :-) I hope this helps! Thank you very much for your tests. Currently I am considering about the bug in aufs inotify handler. Do you know whether this file 'Simon and Garfunkel ... .mp3' has ever been renamed or not? Junjiro Okajima - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Hello Alexey, Alexey Bazhin: I'm having same trouble, but i'm using udba=reval and have no modifications to branches or aufs at all... and i'm also using xfs... Thank you for your report. Then a bug probably lives outside inotify. If you know how to reproduce this problem, let me know. Junjiro Okajima - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: Jrgen_P._Tjern: Branch 0 would be the first branch on the /proc/mounts-line? If so, that's /vault/disk3, which is xfs. How do I find largest inode number? Sorry, please add one line. [ .. snip .. ] I removed 3.Lbs as it's not on the fs any more. I ran your script with the changes, produced a lot of output. See the attached file. :-) Kindest regards, Jørgen P. Tjernø. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGdlUewqQbW3my7pcRAkpcAKDpHYCIPqCdoALOmod0W0TaVcxtgwCeOQz0 PeEXoKbETNgHcpMIqymYHUk= =X3gE -END PGP SIGNATURE- [EMAIL PROTECTED]:~$ bash inode.sh + df -i /storage FilesystemInodes IUsed IFree IUse% Mounted on none 3125686407382 3125612581% /storage + for i in 1 2 + sudo mount -o remount /storage + sudo find /storage '(' '(' -name libxtst6_1.0.1-3build1_i386.deb -o -name samba-common_3.0.22-1ubuntu4.2_i386.deb ')' -fls /tmp/31648.1a ')' -o -printf '%i\n' + sort -n + for i in 1 2 + sudo mount -o remount /storage + sort -n + sudo find /storage '(' '(' -name libxtst6_1.0.1-3build1_i386.deb -o -name samba-common_3.0.22-1ubuntu4.2_i386.deb ')' -fls /tmp/31648.2a ')' -o -printf '%i\n' + diff -u /tmp/31648.1a /tmp/31648.2a --- /tmp/31648.1a 2007-06-18 11:35:21.0 +0200 +++ /tmp/31648.2a 2007-06-18 11:37:56.0 +0200 @@ -1,2 +1,2 @@ - 50255 12 -rw-rw-rw- 1 daxxar storage 9774 Jul 7 2006 /storage/apt-proxy/ubuntu/pool/main/libx/libxtst/libxtst6_1.0.1-3build1_i386.deb - 50336 2148 -rw--- 1 aptproxy nogroup 2196940 May 16 03:06 /storage/apt-proxy/ubuntu-security/pool/main/s/samba/samba-common_3.0.22-1ubuntu4.2_i386.deb + 50409 12 -rw-rw-rw- 1 daxxar storage 9774 Jul 7 2006 /storage/apt-proxy/ubuntu/pool/main/libx/libxtst/libxtst6_1.0.1-3build1_i386.deb + 50490 2148 -rw--- 1 aptproxy nogroup 2196940 May 16 03:06 /storage/apt-proxy/ubuntu-security/pool/main/s/samba/samba-common_3.0.22-1ubuntu4.2_i386.deb + diff -u /tmp/31648.1 /tmp/31648.2 --- /tmp/31648.12007-06-18 11:35:21.0 +0200 +++ /tmp/31648.22007-06-18 11:37:56.0 +0200 @@ -45576,154 +45576,6 @@ 49946 49973 50029 -50188 -50189 -50190 -50191 -50192 -50193 -50194 -50195 -50196 -50197 -50198 -50199 -50200 -50201 -50202 -50203 -50204 -50205 -50206 -50207 -50208 -50209 -50210 -50211 -50212 -50213 -50214 -50215 -50216 -50217 -50218 -50220 -50221 -50222 -50223 -50224 -50225 -50226 -50227 -50228 -50229 -50230 -50231 -50232 -50233 -50234 -50235 -50236 -50237 -50238 -50239 -50240 -50241 -50242 -50243 -50244 -50245 -50246 -50247 -50248 -50249 -50250 -50251 -50252 -50253 -50254 -50256 -50257 -50258 -50259 -50260 -50261 -50262 -50263 -50264 -50265 -50266 -50267 -50268 -50269 -50270 -50271 -50272 -50273 -50274 -50275 -50276 -50277 -50279 -50280 -50281 -50282 -50283 -50284 -50285 -50286 -50287 -50288 -50289 -50290 -50291 -50292 -50293 -50294 -50295 -50296 -50297 -50299 -50300 -50301 -50302 -50303 -50304 -50305 -50306 -50307 -50308 -50309 -50310 -50311 -50312 -50313 -50314 -50315 -50316 -50317 -50318 -50319 -50320 -50321 -50322 -50323 -50324 -50325 -50326 -50327 -50328 -50329 -50330 -50331 -50332 -50333 -50334 -50335 -50337 -50338 -50340 -50341 50342 50343 50344 @@ -45755,7 +45607,6 @@ 50370 50371 50372 -50373 50374 50375 50376 @@ -45791,7 +45642,6 @@ 50406 50407 50408 -50409 50410 50411 50412 @@ -45814,7 +45664,6 @@ 50429 50430 50431 -50432 50433 50434 50435 @@ -45834,7 +45683,6 @@ 50449 50450 50451 -50452 50453 50454 50455 @@ -45872,9 +45720,161 @@ 50487 50488 50489 -50490 50491 50492 -50493 50494 50495 +50496 +50497 +50498 +50499 +50500 +50501 +50502 +50503 +50504 +50505 +50506 +50507 +50508 +50509 +50510 +50511 +50512 +50513 +50514 +50515 +50516 +50517 +50518 +50519 +50520 +50521 +50522 +50523 +50524 +50525 +50526 +50527 +50528 +50529 +50530 +50531 +50532 +50533 +50534 +50535 +50536 +50537 +50538 +50539 +50540 +50541 +50542 +50543 +50544 +50545 +50546 +50547 +50548 +50549 +50550 +50551 +50552 +50553 +50554 +50555 +50556 +50557 +50558 +50559 +50560 +50561 +50562 +50563 +50564 +50565 +50566 +50567 +50568 +50569 +50570 +50571 +50572 +50573 +50574 +50575 +50576 +50577 +50578 +50579 +50580 +50581 +50582 +50583 +50584 +50585 +50586 +50587 +50588 +50589 +50590 +50591 +50592 +50593 +50594 +50595 +50596 +50597 +50598 +50599 +50600 +50601 +50602 +50603 +50604 +50605 +50606 +50607 +50608 +50609 +50610 +50611 +50612 +50613 +50614 +50615 +50616 +50617 +50618 +50619 +50620 +50621 +50622 +50623 +50624 +50625 +50626 +50627 +50628 +50629 +50630 +50631 +50632 +50633 +50634 +50635 +50636 +50637 +50638 +50639 +50640 +50641 +50642 +50643 +50644 +50645 +50646 +50647 +50648 +50649 + cat /tmp/31648.1a 50255 12 -rw-rw-rw- 1 daxxar storage 9774 Jul 7 2006
Re: au_new_inode: broken ino
Jrgen_P._Tjern: I removed 3.Lbs as it's not on the fs any more. I ran your script with the changes, produced a lot of output. See the attached file. :-) Sorry, I should write more correctly. The path you set is /storage and it is aufs mount point, isn't it? It should be branch path. In your case, probably /vault/disk3 or something. Junjiro Okajima - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: Jrgen_P._Tjern: I removed 3.Lbs as it's not on the fs any more. I ran your script with the changes, produced a lot of output. See the attached file. :-) Sorry, I should write more correctly. The path you set is /storage and it is aufs mount point, isn't it? It should be branch path. In your case, probably /vault/disk3 or something. Junjiro Okajima I picked the most recent entry in my dmesg, and added that hi and fname to the commands. (added 536871063 to the egrep) Entry was: [1081101.429555] aufs au_new_inode:325:find[31722]: broken ino, b0, linux-meta/linux-image-generic_2.6.17.11_i386.deb, hi536871063, i50306. Try udba=inotify. Check attached file for output. :-) Kindest regards, Jørgen P. Tjernø -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGdovuwqQbW3my7pcRAnIpAKDSdXmGqmVtOcuJ4llwkC5WNrQXkgCfZ3/F zTSxhiT7l6e50zA1pDg8yuI= =OFAm -END PGP SIGNATURE- [EMAIL PROTECTED]:~$ bash inode.sh + df -i /vault/disk3 FilesystemInodes IUsed IFree IUse% Mounted on /dev/sdd13125686407382 3125612581% /vault/disk3 + for i in 1 2 + sudo mount -o remount /vault/disk3 + sudo find /vault/disk3 '(' '(' -name linux-image-generic_2.6.17.11_i386.deb -o -name libxtst6_1.0.1-3build1_i386.deb -o -name samba-common_3.0.22-1ubuntu4.2_i386.deb ')' -fls /tmp/2674.1a ')' -o -printf '%i\n' + sort -n + for i in 1 2 + sudo mount -o remount /vault/disk3 + sort -n + sudo find /vault/disk3 '(' '(' -name linux-image-generic_2.6.17.11_i386.deb -o -name libxtst6_1.0.1-3build1_i386.deb -o -name samba-common_3.0.22-1ubuntu4.2_i386.deb ')' -fls /tmp/2674.2a ')' -o -printf '%i\n' + diff -u /tmp/2674.1a /tmp/2674.2a + diff -u /tmp/2674.1 /tmp/2674.2 + cat /tmp/2674.1a 134217865 12 -rw-rw-rw- 1 daxxar storage 9774 Jul 7 2006 /vault/disk3/apt-proxy/ubuntu/pool/main/libx/libxtst/libxtst6_1.0.1-3build1_i386.deb 134217862 2148 -rw--- 1 aptproxy nogroup 2196940 May 16 03:06 /vault/disk3/apt-proxy/ubuntu-security/pool/main/s/samba/samba-common_3.0.22-1ubuntu4.2_i386.deb 536871063 24 -rw-rw-rw- 1 daxxar storage 23806 Feb 8 11:03 /vault/disk3/apt-proxy/ubuntu-security/pool/main/l/linux-meta/linux-image-generic_2.6.17.11_i386.deb + tail /tmp/2674.1 2029205398 2029205399 2029205400 2029205401 2029205402 2029205403 2029205404 2029205405 2029205406 2029205407 + egrep -w '(536871063|134217865|134217862)' /tmp/2674.1 /tmp/2674.2 + rm -f /tmp/2674.1 /tmp/2674.1a /tmp/2674.2 /tmp/2674.2a rm: cannot remove `/tmp/2674.1a': Operation not permitted rm: cannot remove `/tmp/2674.2a': Operation not permitted - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen_P._Tjern: I picked the most recent entry in my dmesg, and added that hi and fname to the commands. (added 536871063 to the egrep) Entry was: [1081101.429555] aufs au_new_inode:325:find[31722]: broken ino, b0, linux-meta/linux-image-generic_2.6.17.11_i386.deb, hi536871063, i50306. Try udba=inotify. Check attached file for output. :-) I didn't know that xfs assigns such inode numbers. Thank you for your tests. Here is a debug patch to print more information when the message 'broken ino' was produced. Please reproduce the message and send me the debug log. Junjiro Okajima -- Index: fs/aufs/inode.c === RCS file: /cvsroot/aufs/aufs/fs/aufs/inode.c,v retrieving revision 1.25 diff -u -p -r1.25 inode.c --- fs/aufs/inode.c 18 Jun 2007 01:47:16 - 1.25 +++ fs/aufs/inode.c 19 Jun 2007 02:30:16 - @@ -320,6 +320,20 @@ struct inode *au_new_inode(struct dentry Warn1(broken ino, b%d, %s, %.*s, hi%lu, i%lu. Try udba=inotify.\n, bstart, au_sbtype(h_dentry-d_sb), DLNPair(dentry), h_ino, xino.ino); + { + static unsigned char c; + if (!c++) { + struct dentry *d = d_find_alias(inode); + au_debug_on(); + DbgDentry(dentry); + DbgInode(inode); + if (d) { + DbgDentry(d); + dput(d); + } + au_debug_off(); + } + } xino.ino = 0; err = xino_write0(sb, bstart, h_ino); if (!err) { - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen_P._Tjern: Branch 0 would be the first branch on the /proc/mounts-line? If so, that's /vault/disk3, which is xfs. How do I find largest inode number? Please send me the output of this script. Set $path correctly before you execute it. Junjiro Okajima -- #!/bin/sh path=/tmp tmp=/tmp/$$ set -x df -i $path for i in 1 2 do sudo find $path \ \( \( -name 3.Lbs \ -o -name libxtst6_1.0.1-3build1_i386.deb \ -o -name samba-common_3.0.22-1ubuntu4.2_i386.deb \) \ -fls $tmp.${i}a \) \ -o -printf '%i\n' | sort -n $tmp.$i done diff -u $tmp.[12]a diff -u $tmp.[12] cat $tmp.1a tail $tmp.1 egrep -w '(805306524|134217865|134217862)' $tmp.[12] rm -f $tmp.* - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
Jrgen_P._Tjern: Branch 0 would be the first branch on the /proc/mounts-line? If so, that's /vault/disk3, which is xfs. How do I find largest inode number? Sorry, please add one line. #!/bin/sh path=/tmp tmp=/tmp/$$ set -x df -i $path for i in 1 2 do sudo mount -o remount $path sudo find $path \ \( \( -name 3.Lbs \ ::: Junjiro Okajima - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Re: au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 [EMAIL PROTECTED] wrote: [ .. snip .. ] Actually you already specified udba=inotify, so it must be a bug. Additionally the inode numbers #805306524, #134217865 and #134217862 seem to be too large. Are they correct numbers? Generally speaking, they are not illegal numbers, but I want to check whether they are correct or not. Please tell me about your branch 0. What filesystem is it? What is the largest inode number on it? (Sorry about sending this email directly to you first, Junjiro, please ignore that) Thank you for your quick response. :) Branch 0 would be the first branch on the /proc/mounts-line? If so, that's /vault/disk3, which is xfs. How do I find largest inode number? The other branches are disk2: xfs, disk1: ext3, lvm: ext3. Kindest regards, Jørgen P. Tjernø. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGc+3MwqQbW3my7pcRAquiAJ9zCL5mWxdrhAdLGFsPnzfWnifvKgCcDN3a XEkLpMKcxl8BJEAgCCB0U3M= =5TmO -END PGP SIGNATURE- - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
au_new_inode: broken ino
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Using 20070528 release, I'm at random intervals getting aufs au_new_inode:...: broken ino, e.g.: [ 349.301408] aufs au_new_inode:325:glftpd[3180]: broken ino, b0, files/3.Lbs, hi805306524, i1078. Try udba=inotify. Also: [631021.668293] aufs au_new_inode:325:twistd[27583]: broken ino, b0, libxtst/libxtst6_1.0.1-3build1_i386.deb, hi134217865, i48493. Try udba=inotify. [717395.849214] aufs au_new_inode:325:twistd[27583]: broken ino, b0, samba/samba-common_3.0.22-1ubuntu4.2_i386.deb, hi134217862, i48869. Try udba=inotify. Not the same path each time. Also, it says 'try udba=inotify': I'm already using it: [EMAIL PROTECTED]:~$ grep aufs /proc/mounts none /storage aufs rw,xino=/vault/disk3/.aufs.xino,udba=inotify,br:/vault/disk3=rw:/vault/disk2=rw:/vault/disk1=rw:/vault/lvm=rw 0 0 What's the cause? Is this a problem? Kindest regards, Jørgen P. Tjernø. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGcoVMwqQbW3my7pcRAtVBAJ437yDeq03fN/UEoBQJb0zRLIO3sgCgjyr5 0WRIett+qcVvUbwdyIaC5wI= =PKck -END PGP SIGNATURE- - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/