Merge commit 'refs/top-bases/linux-zpios' into linux-zpios

This commit is contained in:
Brian Behlendorf 2009-03-20 14:24:13 -07:00
commit 4f1f00b7d0
3 changed files with 165 additions and 2 deletions

View File

@ -1,3 +1,53 @@
2009-03-20 Brian Behlendorf <behlendorf1@llnl.gov>
* : Tag zfs-0.4.3 - Use 'git log --no-merges' for full change log.
* : Rebased to ZFS b108 from OpenSolaris
* configure.ac, *Makefile.am: Build system updatei. This includes
resolving various build issues and adding support for the remaining
common build targets. Available targets now include:
- make all # Build everything
- make install # Install everything
- make clean # Clean up build products
- make distclean # Clean up everything
- make dist # Create package tarball
- make srpm # Create package source RPM
- make rpm # Create package binary RPMs
- make tags # Create ctags and etags for everything
Extra care was taken to ensure that the source RPMs are fully
rebuildable against Fedora/RHEL/Chaos kernels. To build binary
RPMs from the source RPM for your system simply run:
rpmbuild --rebuild zfs-x.y.z-1.src.rpm
This will produce two binary RPMs with correct 'requires'
dependencies for your kernel. One will contain all zfs modules
and support utilities, the other is a devel package for compiling
additional kernel modules which are dependant on the zfs.
zfs-x.y.z-1_<kernel version>.x86_64.rpm
zfs-devel-x.y.2-1_<kernel version>.x86_64.rpm
* config/kernel.m4, config/Rules.am: Removed the build options
-Wno-unused -Wno-missing -Wno-unused -Wno-parentheses and
-Wno-unknown-pragmas. All upstream warnings which were being
suppressed by these options are now handled in the matching
gcc-* topic branch.
* zpios: Various zpios and test infrastructure improvements.
* feature-commit-cb: New feature commit callbacks.
* : Various bug fixes which are more clearly detailed in the
git commit logs. For a detailed summary of changes post version
0.4.2, check out the 'top' topic branch and view the commit logs.
git checkout top
git log --no-merges -53
2009-02-05 Brian Behlendorf <behlendorf1@llnl.gov> 2009-02-05 Brian Behlendorf <behlendorf1@llnl.gov>
* : Tag zfs-0.4.2 * : Tag zfs-0.4.2
@ -20,7 +70,7 @@
* : Restructured project and build system to more closely * : Restructured project and build system to more closely
mirror the code organization used in OpenSolaris. This mirror the code organization used in OpenSolaris. This
allows us minimize the changes to upstream source needed, allows us minimize the changes to upstream source needed,
and allows concurrent user+kernel space builds of all components. and allows concurrent user+kernel space builds of all components.
2008-11-19 Brian Behlendorf <behlendorf1@llnl.gov> 2008-11-19 Brian Behlendorf <behlendorf1@llnl.gov>

2
META
View File

@ -1,6 +1,6 @@
Meta: 1 Meta: 1
Name: zfs Name: zfs
Branch: 1.0 Branch: 1.0
Version: 0.4.2 Version: 0.4.3
Release: 1 Release: 1
Release-Tags: relext Release-Tags: relext

113
TODO
View File

@ -20,3 +20,116 @@ SUMMARY OF MAJOR KNOWN PROBLEMS IN v0.4.3 (Development Release)
- Integrate the FUSE port in to this code base, or rebase it as its - Integrate the FUSE port in to this code base, or rebase it as its
own zfs-fuse package which is built against the zfs-devel package. own zfs-fuse package which is built against the zfs-devel package.
----------------------- OBSERVED ZTEST FAILURES ------------------------
1) Easily reproduced on my FC10-i686 box:
ztest -V -T 18000
5 vdevs, 7 datasets, 23 threads, 18000 seconds...
Pass 1, SIGKILL, 0 ENOSPC, 0.7% of 238M used, 0% done, 4h59m42s to go
...
Pass 4, SIGKILL, 0 ENOSPC, 17.8% of 476M used, 1% done, 4h57m59s to go
lt-ztest: ../../lib/libzpool/taskq.c:199: Assertion
`pthread_create(&tq->tq_threadlist[t], NULL, taskq_thread, tq) == 0' failed.
2) Reproducable on my RHEL5-x86_64 box after perhaps an hour:
ztest -V -T 18000
5 vdevs, 7 datasets, 23 threads, 18000 seconds...
Pass 1, SIGKILL, 0 ENOSPC, 4.1% of 476M used, 0% done, 4h59m44s to go
...
Pass 43, SIGKILL, 0 ENOSPC, 76.7% of 476M used, 17% done, 4h09m28s to go
lt-ztest: ../../module/zfs/dsl_scrub.c:659: Assertion `0 ==
dsl_dataset_hold_obj(dp, dsobj, ((char *)__func__), &ds) (0x0 == 0x2)' failed.
child died with signal 6
3) Reproducable on my RHEL5-x86_64 box after perhaps an hour:
ztest -V -T 18000
5 vdevs, 7 datasets, 23 threads, 18000 seconds...
Pass 1, SIGKILL, 0 ENOSPC, 46.3% of 238M used, 0% done, 4h59m11s to go ...
Pass 22, SIGKILL, 0 ENOSPC, 80.4% of 238M used, 8% done, 4h34m46s to go
ztest: spa_vdev_attach(in-place) = 75
child died with signal 6
----------------------- OBSERVED ZPIOS FAILURES ------------------------
1) Observed failure only on FC10-i686 system, never on my RHEL5 box. It
is possible this is due to stack corruption because the 32-bit system
is running with stock 4K stacks and the x86_64 system has 8K stacks. It's
also possible the newer FC10 kernel is just catching something the older
RHEL5 kernels are not.
FC10-i686 Kernel: 2.6.27.19-170.2.35.fc10.i686
RHEL5/Chaos-x86_64 Kernel: 2.6.18-63chaos
SPL: Loaded Solaris Porting Layer v0.4.2
ZFS: Loaded ZFS Filesystem v0.4.2
VM: killing process zpool-create.sh
swap_free: Bad swap file entry f0f668c0
swap_free: Bad swap file entry f0f668c0
Eeek! page_mapcount(page) went negative! (-1)
page pfn = 1
page->flags = 400
page->count = 1
page->mapping = 00000000
vma->vm_ops = generic_file_vm_ops+0x0/0x14
vma->vm_ops->fault = filemap_fault+0x0/0x32b
vma->vm_file->f_op->mmap = generic_file_mmap+0x0/0x42
------------[ cut here ]------------
kernel BUG at mm/rmap.c:684!
invalid opcode: 0000 [#1] SMP
Modules linked in: zpios zfs(P) zcommon(P) zunicode(P) znvpair(P) zavl(P) spl
zlib_deflate nfs lockd nfs_acl sco bridge stp bnep l2cap bluetooth sunrpc
ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand
acpi_cpufreq dm_multipath uinput snd_intel8x0 snd_ac97_codec ac97_bus
snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device
snd_pcm_oss snd_mixer_oss ppdev snd_pcm snd_timer snd tg3 dcdbas soundcore
snd_page_alloc iTCO_wdt libphy iTCO_vendor_support pcspkr yenta_socket
parport_pc rsrc_nonstatic joydev video output parport ata_generic pata_acpi
radeon drm i2c_algo_bit i2c_core [last unloaded: microcode]
Pid: 6793, comm: zpool-create.sh Tainted: P
(2.6.27.19-170.2.35.fc10.i686 #1) Latitude D600
EIP: 0060:[<c0482db5>] EFLAGS: 00210246 CPU: 0
EIP is at page_remove_rmap+0xc1/0xde
EAX: 0000003b EBX: c1000020 ECX: c076fdd0 EDX: 00200046
ESI: f64a3528 EDI: 00349000 EBP: ee9bbd28 ESP: ee9bbd20
DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Process zpool-create.sh (pid: 6793, ti=ee9bb000 task=f668b340
task.ti=ee9bb000)
Stack: 00001093 c1000020 ee9bbdb8 c047ca46 00400000 c087a654 003acfff c06b6738
00000000 f64a3528 ee9bbdd0 00001093 00000001 00385f4d 00000000 ee9e71c0
003ad000 d3f2b000 d3f2b000 ee9bbd74 c04281ea c1809664 c043ef71 00000000
Call Trace:
[<c047ca46>] ? unmap_vmas+0x384/0x5bd
[<c04281ea>] ? default_wake_function+0xb/0xd
[<c043ef71>] ? autoremove_wake_function+0xf/0x33
[<c047fd85>] ? exit_mmap+0x71/0xe5
[<c042be3f>] ? mmput+0x37/0x86
[<c042f21b>] ? exit_mm+0xeb/0xf3
[<c0430ae7>] ? do_exit+0x1cc/0x744
[<c04a18ef>] ? d_lookup+0x27/0x3d
[<c04310cf>] ? do_group_exit+0x70/0x97
[<c06acd38>] ? do_page_fault+0x686/0x710
[<c048f311>] ? kmem_cache_free+0x8c/0xa7
[<c042bc4a>] ? __cleanup_signal+0x17/0x1a
[<c042fc7c>] ? release_task+0x3f7/0x407
[<c04f9035>] ? selinux_task_wait+0x2a/0x2c
[<c0430239>] ? wait_consider_task+0x5ad/0x8e4
[<c043f1b9>] ? remove_wait_queue+0x22/0x29
[<c0430743>] ? do_wait+0x1d3/0x281
[<c04281df>] ? default_wake_function+0x0/0xd
[<c0498be2>] ? path_put+0x15/0x18
[<c0461bfc>] ? audit_syscall_exit+0xb2/0xc7
[<c06ac6b2>] ? do_page_fault+0x0/0x710
[<c06aaf8a>] ? error_code+0x72/0x78
=======================
Code: c0 74 0d 8b 50 08 b8 b2 fd 76 c0 e8 50 ff ff ff 8b 46 48 85 c0 74 14 8b
40 10 85 c0 74 0d 8b 50 2c b8 d0 fd 76 c0 e8 35 ff ff ff <0f> 0b eb fe 8b 53
10 89 d8 83 e2 01 f7 da 83 c2 04 e8 7a 6d ff
EIP: [<c0482db5>] page_remove_rmap+0xc1/0xde SS:ESP 0068:ee9bbd20
---[ end trace bdf37696bb24901e ]---
Fixing recursive fault but reboot is needed!
BUG: scheduling while atomic: zpool-create.sh/6793/0x00000001