Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 2003 17:10:45 +0300
From:      Alexandr Kovalenko <never@nevermind.kiev.ua>
To:        "Marc G. Fournier" <scrappy@hub.org>, freebsd-stable@freebsd.org
Subject:   Re: unionfs related patch
Message-ID:  <20030916141045.GF4386@nevermind.kiev.ua>
In-Reply-To: <20030905015627.GB14776@HAL9000.homeunix.com>
References:  <20030612154312.J80219@hub.org> <20030623081927.GC27017@nevermind.kiev.ua> <20030901160043.GB78655@nevermind.kiev.ua> <20030905015627.GB14776@HAL9000.homeunix.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello, David Schultz!

On Thu, Sep 04, 2003 at 06:56:27PM -0700, you wrote:

> On Mon, Sep 01, 2003, Alexandr Kovalenko wrote:
> > Hello, Alexandr Kovalenko!
> >=20
> > On Mon, Jun 23, 2003 at 11:19:27AM +0300, you wrote:
> >=20
> > > >   David Schultz, in his spare time, has been working through some o=
f the
> > > > issues I've been able to 'tweak' in the unionfs code ... as he is
> > > > currently working on forward-patching it to -CURRENT right now, he =
can't
> > > > commit the code to the -STABLE tree ... in order to allow others us=
ing
> > > > unionfs to test the patch (I've been running it a few weeks now on =
a very
> > > > heavily loaded system), with his permission, I've posted the patch =
for
> > > > download at:
> > > >=20
> > > > 	http://www.hub.org/~scrappy/unionfs
> > >=20
> > > Looks like it pretty stable. I'm running ~10 days with this patch - no
> > > even single panic. Thank you!
> >=20
> > I was too optimistic. It panics on high loads after 3-10 days.
> > Is there any progress in work on this patch?
>=20
> The only thing I know to be wrong with the patch is that it looks
> like I forgot to MFC it.  Oops.  Unfortunately, there's plenty
> wrong with unionfs, even with the patch.
>=20
> Fundamentally, there are some design problems with VFS in FreeBSD
> that make a clean implementation of unionfs impossible; 90% of the
> brokenness in unionfs is due to unionfs having to create an
> illusion of layering that doesn't really exist.  Fixing some of
> the underlying problems is one of the goals for FreeBSD 6.X.
>=20
> For now, my free time is very limited, so it's hard for me to
> justify spending it on fixing a hack on top of a hack.  But if I
> get a chance, I'll see what I can do.  I have a list of all the
> interesting PRs on the topic, including some that were closed
> because ``unionfs is broken''.

BTW, it is SMP kernel

# gdb -k -c vmcore.2 /usr/obj/usr/src/sys/beastie/kernel.debug
GNU gdb 4.18 (FreeBSD)
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...Deprecated bfd_read cal=
led at /usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxrea=
d.c line 2627 in elfstab_build_psymtabs
Deprecated bfd_read called at /usr/src/gnu/usr.bin/binutils/gdb/../../../..=
/contrib/gdb/gdb/dbxread.c line 933 in fill_symbuf

SMP 4 cpus
IdlePTD at phsyical address 0x003e5000
initial pcb at physical address 0x00305fe0
panicstr: ufs_direnter: compact2
panic messages:
---
panic: ufs_direnter: compact2
mp_lock =3D 02000001; cpuid =3D 2; lapic.id =3D 06000000
boot() called on cpu#2

syncing disks... 63 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1=20
giving up on 1 buffers
Uptime: 1d2h54m13s

dumping to dev #da/0x20001, offset 6291456
dump 1024 1023 1022 1021 1020 1019 1018 1017 1016 1015 1014 1013 1012 1011 =
1010 1009 1008 1007 1006 1005 1004 1003 1002 1001 1000 999 998 997 996 995 =
994 993 992 991 990 989 988 987 986 985 984 983 982 981 980 979 978 977 976=
 975 974 973 972 971 970 969 968 967 966 965 964 963 962 961 960 959 958 95=
7 956 955 954 953 952 951 950 949 948 947 946 945 944 943 942 941 940 939 9=
38 937 936 935 934 933 932 931 930 929 928 927 926 925 924 923 922 921 920 =
919 918 917 916 915 914 913 912 911 910 909 908 907 906 905 904 903 902 901=
 900 899 898 897 896 895 894 893 892 891 890 889 888 887 886 885 884 883 88=
2 881 880 879 878 877 876 875 874 873 872 871 870 869 868 867 866 865 864 8=
63 862 861 860 859 858 857 856 855 854 853 852 851 850 849 848 847 846 845 =
844 843 842 841 840 839 838 837 836 835 834 833 832 831 830 829 828 827 826=
 825 824 823 822 821 820 819 818 817 816 815 814 813 812 811 810 809 808 80=
7 806 805 804 803 802 801 800 799 798 797 796 795 794 793 792 791 790 789 7=
88 787 786 785 784 783 782 781 780 779 778 777 776 775 774 773 772 771 770 =
769 768 767 766 765 764 763 762 761 760 759 758 757 756 755 754 753 752 751=
 750 749 748 747 746 745 744 743 742 741 740 739 738 737 736 735 734 733 73=
2 731 730 729 728 727 726 725 724 723 722 721 720 719 718 717 716 715 714 7=
13 712 711 710 709 708 707 706 705 704 703 702 701 700 699 698 697 696 695 =
694 693 692 691 690 689 688 687 686 685 684 683 682 681 680 679 678 677 676=
 675 674 673 672 671 670 669 668 667 666 665 664 663 662 661 660 659 658 65=
7 656 655 654 653 652 651 650 649 648 647 646 645 644 643 642 641 640 639 6=
38 637 636 635 634 633 632 631 630 629 628 627 626 625 624 623 622 621 620 =
619 618 617 616 615 614 613 612 611 610 609 608 607 606 605 604 603 602 601=
 600 599 598 597 596 595 594 593 592 591 590 589 588 587 586 585 584 583 58=
2 581 580 579 578 577 576 575 574 573 572 571 570 569 568 567 566 565 564 5=
63 562 561 560 559 558 557 556 555 554 553 552 551 550 549 548 547 546 545 =
544 543 542 541 540 539 538 537 536 535 534 533 532 531 530 529 528 527 526=
 525 524 523 522 521 520 519 518 517 516 515 514 513 512 511 510 509 508 50=
7 506 505 504 503 502 501 500 499 498 497 496 495 494 493 492 491 490 489 4=
88 487 486 485 484 483 482 481 480 479 478 477 476 475 474 473 472 471 470 =
469 468 467 466 465 464 463 462 461 460 459 458 457 456 455 454 453 452 451=
 450 449 448 447 446 445 444 443 442 441 440 439 438 437 436 435 434 433 43=
2 431 430 429 428 427 426 425 424 423 422 421 420 419 418 417 416 415 414 4=
13 412 411 410 409 408 407 406 405 404 403 402 401 400 399 398 397 396 395 =
394 393 392 391 390 389 388 387 386 385 384 383 382 381 380 379 378 377 376=
 375 374 373 372 371 370 369 368 367 366 365 364 363 362 361 360 359 358 35=
7 356 355 354 353 352 351 350 349 348 347 346 345 344 343 342 341 340 339 3=
38 337 336 335 334 333 332 331 330 329 328 327 326 325 324 323 322 321 320 =
319 318 317 316 315 314 313 312 311 310 309 308 307 306 305 304 303 302 301=
 300 299 298 297 296 295 294 293 292 291 290 289 288 287 286 285 284 283 28=
2 281 280 279 278 277 276 275 274 273 272 271 270 269 268 267 266 265 264 2=
63 262 261 260 259 258 257 256 255 254 253 252 251 250 249 248 247 246 245 =
244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226=
 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 20=
7 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 1=
88 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 =
169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151=
 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 13=
2 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 1=
13 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93=
 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68=
 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43=
 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18=
 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1=20
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487             if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc0177bd3 in boot (howto=3D256) at /usr/src/sys/kern/kern_shutdown.c:3=
16
#2  0xc017802c in poweroff_wait (junk=3D0xc02c19de, howto=3D-369718084) at =
/usr/src/sys/kern/kern_shutdown.c:595
#3  0xc0230456 in ufs_direnter (dvp=3D0xeb3875c0, tvp=3D0x0, dirp=3D0xe9f68=
cbc, cnp=3D0xe9f68e98, newdirbp=3D0x0) fs/ufs/ufs_vnops.c:2376
#6  0xc01b575f in union_rename (ap=3D0xe9f68e40) at vnode_if.h:645
#7  0xc01ab54b in rename (p=3D0xe9ed3d80, uap=3D0xe9f68f80) at vnode_if.h:6=
45
#8  0xc03ada06 in ?? ()
#9  0xc028c561 in syscall2 (frame=3D{tf_fs =3D 47, tf_es =3D 47, tf_ds =3D =
47, tf_edi =3D 134536000, tf_esi =3D 134549508, tf_ebp =3D -1077937404, tf_=
isp =3D -369717292, tf_ebx =3D 672110640, tf_edx =3D 134801576, tf_ecf_trap=
no =3D 22, tf_err =3D 2, tf_eip =3D 672593228, tf_cs =3D 31, tf_eflags =3D =
582, tf_esp =3D -1077937440, tf_ss =3D 47}) at /usr/src/sys/i386/i386/trap.=
c:1175
#10 0xc0279b4b in Xint0x80_syscall ()
cannot read proc at 0


--=20
NEVE-RIPE, will build world for food
Ukrainian FreeBSD User Group
http://uafug.org.ua/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030916141045.GF4386>