2004-04-21 08:47:57

by Andrew Morton

[permalink] [raw]
Subject: 2.6.6-rc2-mm1


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.6-rc2/2.6.6-rc2-mm1/

- Several framebuffer driver fixes. Please test.

- Input driver fixes, cleanups, features.

- Dropped the signal race fixes. See if we can find a better way to fix
this.




Changes since 2.6.6-rc1-mm1:


bk-acpi.patch
bk-agpgart.patch
bk-alsa.patch
bk-arm.patch
bk-cifs.patch
bk-cpufreq.patch
bk-drm.patch
bk-input.patch
bk-netdev.patch

External trees

-ppc64-rtas-build-fix.patch
-idr-extra-features.patch
-fix-load_elf_binary-error-path-on-unshare_files-error.patch
-cpufreq_userspace-warning.patch
-pc300_drv-warnings.patch
-increase-number-of-dynamic-inodes-in-procfs-265.patch
-increase-number-of-dynamic-inodes-in-procfs-265-idr-init.patch
-direct-IO-retval-fix.patch
-direct-io-retval-fix-2.patch
-fix-default-value-for-commit-interval-for-older-reiserfs-filesystems.patch
-kill-off-hugepage_vma.patch
-h8300-stack-bounds-checking.patch
-m68k-stack-bounds-checking.patch
-m68knommu-stack-bounds-checking.patch
-ppc32-stack-bounds-checking.patch
-sparc32-stack-bounds-checking.patch
-3c509-oops-fix.patch
-nfs-tokens-initdata.patch
-warn-if-module_param-and-module_parm-mixed.patch
-ide-cleanups-1.patch
-ide-cleanups-2.patch
-ide-cleanups-3.patch
-lec-warning-fix.patch

Merged

+create_singlethread_workqueue-fix.patch

Fix create_singlethread_workqueue.patch

+use-workqueue-for-call_usermodehelper-fix.patch

Fix use-workqueue-for-call_usermodehelper.patch

+fix-nfsroot-option-parsing.patch

Sync up the kernel's boot-time NFS option parser with mount(8)'s parser.

-kgdb-ga-recent-gcc-fix.patch
-kgdboe-configuration-logic-fix.patch
-kgdboe-configuration-logic-fix-fix.patch
-kgdboe-non-ia32-build-fix.patch
-kgdb-warning-fixes.patch
-kgdb-x86_64-warning-fixes.patch
-wchan-use-ELF-sections-kgdb-fix.patch
-kgdb-THREAD_SIZE-fixes.patch

Folded into other kgdb patches

+i_shared_lock.patch

Convert i_shared_sem back into a spinlock

-sched-fixes.patch

This was wrong.

+ppc64-smt-sched-stuff.patch

Implement SMT support within sched-domains for ppc64

-signal-race-fix.patch
-signal-race-fix-ia64.patch
-signal-race-fix-s390.patch
-signal-race-fix-x86_64.patch
-signal-race-fixes-ppc.patch

Drop these, pending a better way of solving this race.

+numa-api-core-i_shared_sem.patch

Update the NUMA API code for the i_shared_sem conversion (this is wrong - it
causes sleeping-inside-spinlocks).

+ext3-reservation-regression-fix.patch

Fix an ext3 block allocator regression which came in with the reservation
patches.

+4-autofs4-260-expire-20040405-fix.patch

Fix 4-autofs4-2.6.0-expire-20040405.patch

-scale-rwsem-take-2.patch

Dropped - there's controversy over this.

+lockfs-reiserfs-fix.patch

Fix up reiserfs for the lockfs fixes.

+radeon-fb-screen-corruption-fix.patch

Radeon driver fix

+es7000-subarch-update-2.patch

ES7000 fix

+tridentfbc-warning-fix.patch
+hgafbc-warning-fix.patch
+imsttfbc-warning-fix.patch

fbdev fixes

+dquot-unneeded-test.patch

Remove unneeded test for a null superblock pointer

+i4l-compat-ioctls.patch

Add ISDN compat ioctls

+selinux-change-context_to_sid-handling-for-no-policy-case.patch
+selinux-add-runtime-disable.patch
+selinux-remove-hardcoded-policy-assumption-from-get_user_sids-logic.patch

SELinux fixes

+fbdev-logo-handling-fix.patch
+fbdev-redundant-prows-calculation-removal.patch
+fbdev-remove-redundant-local.patch
+fbdev-access_align-default.patch

More fbdev fixes

+kbuild-improved-external-module-support.patch

Fix up the building of out-of-tree kernel modules

+input-tsdev-fixes.patch

Input driver fixes

+fix-scancode-keycode-scancode-conversion-for-265.patch

Keyboard scancode fixes

+i810_dma-range-check.patch

rangecheck an incoming argument.

+fb_ioctl-usercopy-fix.patch

usercopy fix

+use-less-stack-in-ide_unregister.patch

Stack use reduction

+writeback-livelock-fix.patch

Avoid possible pdflush livelock

+string_h-needs-compiler_h.patch

Force inlining of string functions.

+new-set-of-input-patches-synaptics-cleanup.patch
+new-set-of-input-patches-synaptics-middle-button-support.patch
+new-set-of-input-patches-dont-change-max-proto.patch
+new-set-of-input-patches-lkkbd-whitespace.patch
+new-set-of-input-patches-lkkbd-simplify-checks.patch
+new-set-of-input-patches-atkbd-soften-accusation.patch
+new-set-of-input-patches-atkbd-trailing-whitespace.patch
+new-set-of-input-patches-atkbd-use-bitfields.patch
+new-set-of-input-patches-atkbd-timeout-complaints.patch
+new-set-of-input-patches-psmouse-rescan-on-hotplug.patch
+new-set-of-input-patches-psmouse-reconnect-after-error.patch
+new-set-of-input-patches-psmouse-add-protocol_handler.patch
+new-set-of-input-patches-psmouse-sliced-commands.patch
+new-set-of-input-patches-atkbd-reconnect-probe.patch
+new-set-of-input-patches-allow-disabling-psaux.patch

More input driver fixes and enhancements

+i386-hugetlb-tlb-correction.patch

Fix i386 hugepage pte handling

+loop_set_fd-sendfile-check-fix.patch

Fix a sanity check in the loop driver




All 222 patches:


create_singlethread_workqueue.patch
reate_singlethread_workqueue()

create_singlethread_workqueue-fix.patch
create_singlethread_workqueue fix

use-workqueue-for-call_usermodehelper.patch
Use workqueue for call_usermodehelper

use-workqueue-for-call_usermodehelper-fix.patch
use-workqueue-for-call_usermodehelper fix

fix-nfsroot-option-parsing.patch
Fix nfsroot option handling

mc.patch
Add -mcN to EXTRAVERSION

bk-acpi.patch

bk-agpgart.patch

bk-alsa.patch

bk-arm.patch

bk-cifs.patch

bk-cpufreq.patch

bk-drm.patch

bk-input.patch

bk-netdev.patch

mm.patch
add -mmN to EXTRAVERSION

kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix
kgdb buffer overflow fix
kgdbL warning fix
kgdb: CONFIG_DEBUG_INFO fix
x86_64 fixes
correct kgdb.txt Documentation link (against 2.6.1-rc1-mm2)
kgdb: fix for recent gcc
kgdb warning fixes
THREAD_SIZE fixes for kgdb

kgdboe-netpoll.patch
kgdb-over-ethernet via netpoll
kgdboe: fix configuration of MAC address

kgdb-x86_64-support.patch
kgdb-x86_64-support.patch for 2.6.2-rc1-mm3
kgdb-x86_64-warning-fixes

rmap-7-object-based-rmap.patch
rmap 7 object-based rmap

ia64-rmap-build-fix.patch
ia64 rmap build fix

rmap-8-unmap-nonlinear.patch
rmap 8 unmap nonlinear

slab-panic.patch
slab: consolidate panic code

rmap-9-remove-pte_chains.patch
rmap 9 remove pte_chains

rmap-10-add-anonmm-rmap.patch
rmap 10 add anonmm rmap

rmap-11-mremap-moves.patch
rmap 11 mremap moves

rmap-12-pgtable-remove-rmap.patch
rmap 12 pgtable remove rmap

rmap-13-include-asm-deletions.patch
rmap 13 include/asm deletions

i_shared_lock.patch
Convert i_shared_sem back to a spinlock

must-fix.patch
must fix lists update
must fix list update
mustfix update

must-fix-update-5.patch
must-fix update

ppc64-reloc_hide.patch

invalidate_inodes-speedup.patch
invalidate_inodes speedup
more invalidate_inodes speedup fixes

config_spinline.patch
uninline spinlocks for profiling accuracy.

pdflush-diag.patch

get_user_pages-handle-VM_IO.patch
fix get_user_pages() against mappings of /dev/mem

pci_set_power_state-might-sleep.patch

CONFIG_STANDALONE-default-to-n.patch
Make CONFIG_STANDALONE default to N

selinux-inode-race-trap.patch
Try to diagnose Bug 2153

slab-leak-detector.patch
slab leak detector
mm/slab.c warning in cache_alloc_debugcheck_after

local_bh_enable-warning-fix.patch

Move-saved_command_line-to-init-mainc.patch
Move saved_command_line to init/main.c

sched-run_list-cleanup.patch
small scheduler cleanup

sched-find_busiest_node-resolution-fix.patch
sched: improved resolution in find_busiest_node

sched-domains.patch
sched: scheduler domain support
sched: fix for NR_CPUS > BITS_PER_LONG
sched: clarify find_busiest_group
sched: find_busiest_group arithmetic fix

sched-find-busiest-fix.patch
sched-find-busiest-fix

sched-sibling-map-to-cpumask.patch
sched: cpu_sibling_map to cpu_mask
p4-clockmod sibling_map fix
p4-clockmod: handle more than two siblings

sched-domains-i386-ht.patch
sched: implement domains for i386 HT
sched: Fix CONFIG_SMT oops on UP
sched: fix SMT + NUMA bug
Change arch_init_sched_domains to use cpu_online_map
Fix build with NR_CPUS > BITS_PER_LONG

sched-no-drop-balance.patch
sched: handle inter-CPU jiffies skew

sched-directed-migration.patch
sched_balance_exec(): don't fiddle with the cpus_allowed mask

sched-domain-debugging.patch
sched_domain debugging

sched-domain-balancing-improvements.patch
scheduler domain balancing improvements

sched-group-power.patch
sched-group-power
sched-group-power warning fixes

sched-domains-use-cpu_possible_map.patch
sched_domains: use cpu_possible_map

sched-smt-nice-handling.patch
sched: SMT niceness handling

sched-local-load.patch
sched: add local load metrics

process-migration-speedup.patch
Reduce TLB flushing during process migration

sched-trivial.patch
sched: trivial fixes, cleanups

sched-misc-fixes.patch
sched: misc fixes

sched-wakebalance-fixes.patch
sched: wakeup balancing fixes

sched-imbalance-fix.patch
sched: fix imbalance calculations

sched-altix-tune1.patch
sched: altix tuning

sched-fix-activelb.patch
sched: oops fix

ppc64-sched-domain-support.patch
ppc64: sched-domain support

sched-domain-setup-lock.patch
sched: fix setup races

ppc64-sched_domains-fix.patch
ppc64-sched_domains-fix

sched-domain-setup-lock-ppc64-fix.patch

sched-minor-cleanups.patch
sched: minor cleanups

sched-inline-removals.patch
sched: uninlinings

sched-move-cold-task.patch
sched: move cold task in mysteriouis ways

sched-migrate-shortcut.patch
sched: add migration shortcut

sched-more-sync-wakeups.patch
sched: extend sync wakeups

sched-boot-fix.patch
sched: lock cpu_attach_domain for hotplug

sched-cleanups.patch
sched: cleanups

sched-damp-passive-balance.patch
sched: passive balancing damping

sched-cpu-load-cleanup.patch
sched: cpu load management cleanup

sched-balance-context.patch
sched: balance-on-clone

sched-less-idle.patch
sched: reduce idle time

sched-wake_up-speedup.patch
sched: micro-optimisation for wake_up

ppc64-smt-sched-stuff.patch
ppc64: SMT scheduler support

schedstats.patch
sched: scheduler statistics

fa311-mac-address-fix.patch
wrong mac address with netgear FA311 ethernet card

pid_max-fix.patch
Bug when setting pid_max > 32k

use-soft-float.patch
Use -msoft-float

non-readable-binaries.patch
Handle non-readable binfmt_misc executables

binfmt_misc-credentials.patch
binfmt_misc: improve calaulation of interpreter's credentials

aic7xxx-deadlock-fix.patch
aic7xxx deadlock fix

poll-select-longer-timeouts.patch
poll()/select(): support longer timeouts

poll-select-range-check-fix.patch
poll()/select() range checking fix

poll-select-handle-large-timeouts.patch
poll()/select(): handle long timeouts

add-a-slab-for-ethernet.patch
Add a kmalloc slab for ethernet packets

siimage-update.patch
ide: update for siimage driver

nmi_watchdog-local-apic-fix.patch
Fix nmi_watchdog=2 and P4 HT

nmi-1-hz-2.patch
reduce NMI watchdog call frequency with local APIC.

pcmcia-netdev-ordering-fixes.patch
PCMCIA netdevice ordering issues

3ware-update.patch
3ware driver update

shm-do_munmap-check.patch

stack-overflow-test-fix.patch
Fix stack overflow test for non-8k stacks

jbd-remove-livelock-avoidance.patch
JBD: remove livelock avoidance code in journal_dirty_data()

jgarzik-warnings.patch

logitech-keyboard-fix.patch
2.6.5-rc2 keyboard breakage

warn-on-mdelay-in-irq-handlers.patch
Warn on mdelay() in irq handlers

stack-reductions-nfsread.patch
stack reductions: nfs read

speed-up-sata.patch
speed up SATA

advansys-fix.patch
advansys check_region() fix

aic7xxx-unload-fix.patch
aic7xxx: fix oops whe hardware is not present

journal_add_journal_head-debug.patch
journal_add_journal_head-debug

nfs-O_DIRECT-fixes.patch
NFS: O_DIRECT fixes

nfs-direct-warning-fix.patch
nfs/direct.c warning fix

aic7xxx-swsusp-support.patch
support swsusp for aic7xxx
aic79xx_osm.c build fix

xfs-laptop-mode.patch
Laptop mode support for XFS

xfs-laptop-mode-syncd-synchronization.patch
Synchronize XFS sync daemon with laptop mode syncs.

list_del-debug.patch
list_del debug check

oops-dump-preceding-code.patch
i386 oops output: dump preceding code

lockmeter.patch
lockmeter
ia64 CONFIG_LOCKMETER fix

cciss-logical-device-queues.patch
cciss: per logical device queues

numa-api-x86_64.patch
numa api: -64 support

numa-api-bitmap-fix.patch
numa api: Bitmap bugfix

numa-api-i386.patch
numa api: Add i386 support

numa-api-ia64.patch
numa api: Add IA64 support

numa-api-core.patch
numa api: Core NUMA API code

numa-api-core-i_shared_sem.patch
numa-api-core-i_shared_sem

mpol-in-copy_vma.patch
mpol in copy_vma

numa-api-core-slab-panic.patch
numa-api-core-slab-panic

numa-api-core-tweaks.patch
numa-api-core-tweaks

numa-api-fixes.patch
Some fixes for NUMA API

numa-api-statistics-2.patch
Re-add NUMA API statistics

numa-api-core-bitmap_clear-fixes.patch
numa-api-core bitmap_clear fixes

numa-api-vma-policy-hooks.patch
numa api: Add VMA hooks for policy

numa-api-vma-policy-hooks-fix.patch
numa-api-vma-policy-hooks fix

numa-api-shared-memory-support.patch
numa api: Add shared memory support

numa-api-shared-memory-support-tweaks.patch
numa-api-shared-memory-support-tweaks

numa-api-statistics.patch
numa api: Add statistics

numa-api-anon-memory-policy.patch
numa api: Add policy support to anonymous memory

sk98lin-buggy-vpd-workaround.patch
net/sk98lin: correct buggy VPD in ASUS MB
skvpd-build-fix

unplug-can-sleep.patch
unplug functions can sleep

firestream-warnings.patch
firestream warnings

compute-creds-race-fix.patch
compute_creds race

compute-creds-race-fix-fix.patch
compute-creds-race-fix-fix

compute-creds-race-fix-fix-fix.patch
fix must_not_trace_exec() even more

rndis-fix.patch
usb/gadget/rndis.c fix

fix-acer-travelmate-360-interrupt-routing.patch
fix Acer TravelMate 360 interrupt routing

ext3_rsv_cleanup.patch
ext3 block reservation patch set -- ext3 preallocation cleanup

ext3_rsv_base.patch
ext3 block reservation patch set -- ext3 block reservation

ext3-reservation-regression-fix.patch
ext3 reservations: fix performance regression

ext3_rsv_mount.patch
ext3 block reservation patch set -- mount and ioctl feature

ext3_rsv_dw.patch
ext3 block reservation patch set -- dynamically increase reservation window

ext3-reservation-default-on.patch
ext3 reservation: default to on

sched-in_sched_functions.patch
sched: in_sched_functions() cleanup

sysfs-d_fsdata-race-fix-2.patch
kobject/sysfs race fix

0-autofs4-2.6.0-signal-20040405.patch
autofs: dnotify + autofs may create signal/restart syscall loop

add-omitted-autofs4-super-block-field.patch
add omitted autofs4 super block field

1-autofs4-2.6.4-cleanup-20040405.patch
autofs: printk cleanups

2-autofs4-2.6.4-fill_super-20040405.patch

3-autofs4-2.6.0-bkl-20040405.patch
autofs: locking rework

4-autofs4-2.6.0-expire-20040405.patch
autofs: expiry refcount fixes

4-autofs4-260-expire-20040405-fix.patch
4-autofs4-2.6.0-expire-20040405 locking fix

5-autofs4-2.6.0-readdir-20040405.patch
autofs: readdir fixes

umount-after-bad-chdir.patch
fix umount after bad chdir

autofs4-fix-handling-of-chdir-and-chroot.patch
autofs4: fix handling of chdir and chroot

6-autofs4-2.6.0-may_umount-20040405.patch
autofs: add ioctl to query unmountability

7-autofs4-2.6.0-extra-20040405.patch
autofs: readdir futureproofing

lindent-rwsem.patch
cleanup lib/rwsem.c lib/rwsem-spinlock.c

de-racify-rwsem-take-2.patch
de-racify rwsem take 2

ext3-data-leak-fix.patch
ext3 avoid writing kernel memory to disk

as-increase-batch-expiry.patch
AS: increase batch expiry intervals

populate-rootfs-later.patch
Call populate_rootfs later in boot

remove-amd7saucy_tco.patch
remove amd7xx_tco

consolidate-sys32_readv-and-sys32_writev.patch
Consolidate sys32_readv and sys32_writev

consolidate-do_execve32.patch
Consolidate do_execve32

consolidate-sys32_select.patch
Consolidate sys32_select

consolidate-sys32_nfsservctl.patch
Consolidate sys32_nfsservctl

ehci-oops-fix.patch
oops when loading ehci_hcd

lockfs-vfs-bits.patch
lockfs - vfs bits

lockfs-reiserfs-fix.patch
lockfs: reiserfs fix

lockfs-xfs-bits.patch
lockfs - xfs bits

lockfs-dm-bits.patch
lockfs - dm bits

lockfs-dm-bits-2.patch
lockfs - dm bits

intel8x0-resume-fix.patch
intel8x0 suspend/resume fix

clean-up-asm-pgalloch-include.patch
Clean up asm/pgalloc.h include

clean-up-asm-pgalloch-include-2.patch
Clean up asm/pgalloc.h include

clean-up-asm-pgalloch-include-3.patch
Clean up asm/pgalloc.h include 3

ppc64-uninline-__pte_free_tlb.patch
ppc64: uninline __pte_free_tlb()

radeon-fb-screen-corruption-fix.patch
radeonfb display corruption fix

es7000-subarch-update-2.patch
es7000 subarch update

tridentfbc-warning-fix.patch
video/tridentfb.c warning fix

hgafbc-warning-fix.patch
video/hgafb.c warning fix

imsttfbc-warning-fix.patch
video/imsttfb.c. warning fix

dquot-unneeded-test.patch
dquot: remove unneeded test

i4l-compat-ioctls.patch
i4l: add compat ioctl's for CAPI

selinux-change-context_to_sid-handling-for-no-policy-case.patch
selinux: change context_to_sid handling for no-policy case

selinux-add-runtime-disable.patch
selinux: add runtime disable

selinux-remove-hardcoded-policy-assumption-from-get_user_sids-logic.patch
selinux: remove hardcoded policy assumption from get_user_sids() logic

fbdev-logo-handling-fix.patch
fbdev: clean up logo handling

fbdev-redundant-prows-calculation-removal.patch
fbdev: remove redundant p->vrows calculation

fbdev-remove-redundant-local.patch
fbdev: remove redundant local

fbdev-access_align-default.patch
fbdev: set a default access_align value

kbuild-improved-external-module-support.patch
kbuild: Improved external module support

input-tsdev-fixes.patch
tsdev.c fixes

fix-scancode-keycode-scancode-conversion-for-265.patch
Fix scancode->keycode->scancode conversion

i810_dma-range-check.patch
i810_dma range check

fb_ioctl-usercopy-fix.patch
fb_ioctl() usercopy fix

use-less-stack-in-ide_unregister.patch
use less stack in ide_unregister

writeback-livelock-fix.patch
writeback livelock fix

string_h-needs-compiler_h.patch
string.h needs compiler.h

new-set-of-input-patches-synaptics-cleanup.patch
input: synaptics cleanup

new-set-of-input-patches-synaptics-middle-button-support.patch
input: synaptics middle button support

new-set-of-input-patches-dont-change-max-proto.patch
input: dont change max proto

new-set-of-input-patches-lkkbd-whitespace.patch
input: lkkbd whitespace

new-set-of-input-patches-lkkbd-simplify-checks.patch
input: lkkbd simplify checks

new-set-of-input-patches-atkbd-soften-accusation.patch
input: atkbd soften accusation

new-set-of-input-patches-atkbd-trailing-whitespace.patch
input: atkbd trailing whitespace

new-set-of-input-patches-atkbd-use-bitfields.patch
input: atkbd - use bitfields

new-set-of-input-patches-atkbd-timeout-complaints.patch
input: atkbd timeout complaints

new-set-of-input-patches-psmouse-rescan-on-hotplug.patch
input: psmouse rescan on hotplug

new-set-of-input-patches-psmouse-reconnect-after-error.patch
input: psmouse reconnect after error

new-set-of-input-patches-psmouse-add-protocol_handler.patch
input: psmouse add protocol_handler

new-set-of-input-patches-psmouse-sliced-commands.patch
input: psmouse sliced commands

new-set-of-input-patches-atkbd-reconnect-probe.patch
input: atkbd reconnect probe

new-set-of-input-patches-allow-disabling-psaux.patch
input: allow disabling psaux

i386-hugetlb-tlb-correction.patch
i386 hugetlb tlb correction

loop_set_fd-sendfile-check-fix.patch
loop_set_fd() sendfile check fix




2004-04-21 16:04:48

by Ian Kent

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1


Looks like there's no IDS defined for the Creator cards on sparc.

If only I could build a kernel on my little Ultra. Sigh.
I don't even have to fight the kids to use it.

In file included from drivers/char/drm/ffb_drv.c:336:
drivers/char/drm/drm_drv.h:545: error: `DRIVER_PCI_IDS' undeclared here
(not in a function)
drivers/char/drm/drm_drv.h:545: error: initializer element is not constant
drivers/char/drm/drm_drv.h:545: error: (near initialization for
`ffb_pciidlist[0 ]')
drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances'
defined but not used

2004-04-22 15:29:45

by Ian Kent

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1


This is a second attempt at a patch to address Christophs' concerns.

It assumes a 2.6.6-rc2-mm1 tree.

- renamed autofs4_may_umount to __may_umount_tree, made it static
and moved it to namespace.c.
- added stub function may_umount_tree with description
- altered may_umount to use above stub function and added
little description
- added may_umount_tree prototype to fs.h
- removed the EXPORT_SYMBOL for vfsmount_lock
- updated expire.c to suit

Andrew,

This is the entire patch again. I hope this won't cause to much
hastle.

diff -Nur linux-2.6.6-rc1-mm1.orig/fs/autofs4/expire.c linux-2.6.6-rc1-mm1/fs/autofs4/expire.c
--- linux-2.6.6-rc1-mm1.orig/fs/autofs4/expire.c 2004-04-20 23:35:14.000000000 +0800
+++ linux-2.6.6-rc1-mm1/fs/autofs4/expire.c 2004-04-22 21:06:09.000000000 +0800
@@ -45,47 +45,6 @@
return 1;
}

-/* Sorry I can't solve the problem without using counts either */
-static int autofs4_may_umount(struct vfsmount *mnt)
-{
- struct list_head *next;
- struct vfsmount *this_parent = mnt;
- int actual_refs;
- int minimum_refs;
-
- spin_lock(&vfsmount_lock);
- actual_refs = atomic_read(&mnt->mnt_count);
- minimum_refs = 2;
-repeat:
- next = this_parent->mnt_mounts.next;
-resume:
- while (next != &this_parent->mnt_mounts) {
- struct vfsmount *p = list_entry(next, struct vfsmount, mnt_child);
-
- next = next->next;
-
- actual_refs += atomic_read(&p->mnt_count);
- minimum_refs += 2;
-
- if ( !list_empty(&p->mnt_mounts) ) {
- this_parent = p;
- goto repeat;
- }
- }
-
- if (this_parent != mnt) {
- next = this_parent->mnt_child.next;
- this_parent = this_parent->mnt_parent;
- goto resume;
- }
- spin_unlock(&vfsmount_lock);
-
- DPRINTK(("autofs4_may_umount: done actual = %d, minimum = %d\n",
- actual_refs, minimum_refs));
-
- return actual_refs > minimum_refs;
-}
-
/* Check a mount point for busyness return 1 if not busy, otherwise */
static int autofs4_check_mount(struct vfsmount *mnt, struct dentry *dentry)
{
@@ -108,7 +67,7 @@
goto done;

/* The big question */
- if (autofs4_may_umount(mnt) == 0)
+ if (may_umount_tree(mnt) == 0)
status = 1;
done:
DPRINTK(("autofs4_check_mount: returning = %d\n", status));
--- linux-2.6.6-rc1-mm1.orig/fs/namespace.c 2004-04-20 22:08:41.000000000 +0800
+++ linux-2.6.6-rc1-mm1/fs/namespace.c 2004-04-22 21:06:09.000000000 +0800
@@ -37,8 +37,6 @@
/* spinlock for vfsmount related operations, inplace of dcache_lock */
spinlock_t vfsmount_lock __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;

-EXPORT_SYMBOL(vfsmount_lock);
-
static struct list_head *mount_hashtable;
static int hash_mask, hash_bits;
static kmem_cache_t *mnt_cache;
@@ -262,16 +260,85 @@
.show = show_vfsmnt
};

-/*
+static int __may_umount_tree(struct vfsmount *mnt, int root_mnt_only)
+{
+ struct list_head *next;
+ struct vfsmount *this_parent = mnt;
+ int actual_refs;
+ int minimum_refs;
+
+ spin_lock(&vfsmount_lock);
+ actual_refs = atomic_read(&mnt->mnt_count);
+ minimum_refs = 2;
+
+ if (root_mnt_only) {
+ spin_unlock(&vfsmount_lock);
+ if (actual_refs > minimum_refs)
+ return -EBUSY;
+ return 0;
+ }
+
+repeat:
+ next = this_parent->mnt_mounts.next;
+resume:
+ while (next != &this_parent->mnt_mounts) {
+ struct vfsmount *p = list_entry(next, struct vfsmount, mnt_child);
+
+ next = next->next;
+
+ actual_refs += atomic_read(&p->mnt_count);
+ minimum_refs += 2;
+
+ if (!list_empty(&p->mnt_mounts)) {
+ this_parent = p;
+ goto repeat;
+ }
+ }
+
+ if (this_parent != mnt) {
+ next = this_parent->mnt_child.next;
+ this_parent = this_parent->mnt_parent;
+ goto resume;
+ }
+ spin_unlock(&vfsmount_lock);
+
+ if (actual_refs > minimum_refs)
+ return -EBUSY;
+
+ return 0;
+}
+
+/**
+ * may_umount_tree - check if a mount tree is busy
+ * @mnt: root of mount tree
+ *
+ * This is called to check if a tree of mounts has any
+ * open files, pwds, chroots or sub mounts that are
+ * busy.
+ */
+int may_umount_tree(struct vfsmount *mnt)
+{
+ return __may_umount_tree(mnt, 0);
+}
+
+EXPORT_SYMBOL(may_umount_tree);
+
+/**
+ * may_umount - check if a mount point is busy
+ * @mnt: root of mount
+ *
+ * This is called to check if a mount point has any
+ * open files, pwds, chroots or sub mounts. If the
+ * mount has sub mounts this will return busy
+ * regardless of whether the sub mounts are busy.
+ *
* Doesn't take quota and stuff into account. IOW, in some cases it will
* give false negatives. The main reason why it's here is that we need
* a non-destructive way to look for easily umountable filesystems.
*/
int may_umount(struct vfsmount *mnt)
{
- if (atomic_read(&mnt->mnt_count) > 2)
- return -EBUSY;
- return 0;
+ return __may_umount_tree(mnt, 1);
}

EXPORT_SYMBOL(may_umount);
--- linux-2.6.6-rc1-mm1.orig/include/linux/fs.h 2004-04-20 22:08:51.000000000 +0800
+++ linux-2.6.6-rc1-mm1/include/linux/fs.h 2004-04-22 21:58:11.000000000 +0800
@@ -1127,6 +1127,7 @@
extern int register_filesystem(struct file_system_type *);
extern int unregister_filesystem(struct file_system_type *);
extern struct vfsmount *kern_mount(struct file_system_type *);
+extern int may_umount_tree(struct vfsmount *);
extern int may_umount(struct vfsmount *);
extern long do_mount(char *, char *, char *, unsigned long, void *);

2004-04-22 18:55:49

by Alexander Gran

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

Am Mittwoch, 21. April 2004 10:45 schrieben Sie:
> - Several framebuffer driver fixes. Please test.

My screen is still a bit garbeld after booting.
Still like http://zodiac.dnsalias.org/images/garbage.jpg

radeonfb, Radeon M9 Mobility on IBM T40p 2373-G1G, ACPI
lspci:
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev
03)
Subsystem: IBM: Unknown device 0529
Flags: bus master, fast devsel, latency 0
Memory at d0000000 (32-bit, prefetchable)
Capabilities: [e4] #09 [f104]
Capabilities: [a0] AGP version 2.0

0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev
03) (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, fast devsel, latency 96
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 00003000-00003fff
Memory behind bridge: c0100000-c01fffff
Prefetchable memory behind bridge: e0000000-e7ffffff
Expansion ROM at 00003000 [disabled] [size=4K]

0000:00:1d.0 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #1 (rev 01)
(prog-if 00 [UHCI])
Subsystem: IBM: Unknown device 052d
Flags: bus master, medium devsel, latency 0, IRQ 9
I/O ports at 1800 [size=32]

0000:00:1d.1 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #2 (rev 01)
(prog-if 00 [UHCI])
Subsystem: IBM: Unknown device 052d
Flags: bus master, medium devsel, latency 0, IRQ 10
I/O ports at 1820 [size=32]

0000:00:1d.2 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #3 (rev 01)
(prog-if 00 [UHCI])
Subsystem: IBM: Unknown device 052d
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at 1840 [size=32]

0000:00:1d.7 USB Controller: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller
(rev 01) (prog-if 20 [EHCI])
Subsystem: IBM: Unknown device 052e
Flags: bus master, medium devsel, latency 0, IRQ 10
Memory at c0000000 (32-bit, non-prefetchable)
Capabilities: [50] Power Management version 2
Capabilities: [58] #0a [2080]

0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 81) (prog-if
00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=08, sec-latency=168
I/O behind bridge: 00004000-00008fff
Memory behind bridge: c0200000-cfffffff
Prefetchable memory behind bridge: e8000000-efffffff

0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev
01)
Flags: bus master, medium devsel, latency 0

0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage
Controller (rev 01) (prog-if 8a [Master SecP PriP])
Subsystem: IBM: Unknown device 052d
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at 1860 [size=16]
Memory at 20000000 (32-bit, non-prefetchable) [size=1K]

0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBM (ICH4) SMBus Controller (rev 01)
Subsystem: IBM: Unknown device 052d
Flags: medium devsel, IRQ 10
I/O ports at 1880 [size=32]

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97
Audio Controller (rev 01)
Subsystem: IBM: Unknown device 0537
Flags: bus master, medium devsel, latency 0, IRQ 10
I/O ports at 1c00
I/O ports at 18c0 [size=64]
Memory at c0000c00 (32-bit, non-prefetchable) [size=512]
Memory at c0000800 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2

0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 01)
(prog-if 00 [Generic])
Subsystem: IBM: Unknown device 0525
Flags: bus master, medium devsel, latency 0, IRQ 10
I/O ports at 2400
I/O ports at 2000 [size=128]
Capabilities: [50] Power Management version 2

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf
[Radeon Mobility 9000 M9] (rev 02) (prog-if 00 [VGA])
Subsystem: IBM: Unknown device 054d
Flags: bus master, stepping, fast Back2Back, 66MHz, medium devsel,
latency 66, IRQ 9
Memory at e0000000 (32-bit, prefetchable)
I/O ports at 3000 [size=256]
Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] AGP version 2.0
Capabilities: [50] Power Management version 2

0000:02:00.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus
Controller (rev 01)
Subsystem: IBM ThinkPad T30/T40
Flags: bus master, medium devsel, latency 168, IRQ 9
Memory at b0000000 (32-bit, non-prefetchable)
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 20400000-207ff000 (prefetchable)
Memory window 1: 20800000-20bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
16-bit legacy interface ports at 0001

0000:02:00.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus
Controller (rev 01)
Subsystem: IBM ThinkPad T30/T40
Flags: bus master, medium devsel, latency 168, IRQ 10
Memory at b1000000 (32-bit, non-prefetchable)
Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
Memory window 0: 20c00000-20fff000 (prefetchable)
Memory window 1: 21000000-213ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
16-bit legacy interface ports at 0001

0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet
Controller (Mobile) (rev 03)
Subsystem: IBM PRO/1000 MT Mobile Connection
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 9
Memory at c0220000 (32-bit, non-prefetchable)
Memory at c0200000 (32-bit, non-prefetchable) [size=64K]
I/O ports at 8000 [size=64]
Capabilities: [dc] Power Management version 2
Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0
Enable-

0000:02:02.0 Ethernet controller: Atheros Communications, Inc. AR5211 802.11ab
NIC (rev 01)
Subsystem: Unknown device 17ab:8310
Flags: bus master, medium devsel, latency 168, IRQ 11
Memory at c0210000 (32-bit, non-prefetchable)
Capabilities: [44] Power Management version 2


root@t40:~# dmesg | grep radeonfb
radeonfb: Invalid ROM signature 0 should be 0xaa55
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=252.00 Mhz, System=200.00 MHz
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: SXGA+ Single (85MHz)
radeonfb: detected LVDS panel size from BIOS: 1400x1050
radeonfb: Power Management enabled for Mobility chipsets
radeonfb: ATI Radeon Lf DDR SGRAM 64 MB

regards
Alex


--
Encrypted Mails welcome.
PGP-Key at http://zodiac.dnsalias.org/misc/pgpkey.asc | Key-ID: 0x6D7DD291


Attachments:
(No filename) (6.92 kB)
(No filename) (189.00 B)
signature
Download all attachments

2004-04-23 05:51:26

by Frédéric L. W. Meunier

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

> - Several framebuffer driver fixes. Please test.

Which surely broke my framebuffer, which worked fine with
2.6.6-rc1-mm1.

I have the following in my init script:

if lspci | grep -q 'MGA G400'; then
modprobe matroxfb_base
con2fb /dev/fb0 /dev/tty1
con2fb /dev/fb0 /dev/tty2
fi

And options matroxfb_base vesa=0x117
in /etc/modprobe.conf.

After the above loaded my monitor turned black and the led
started blinking. I just hope such changes can't damage it.

BTW, I'm not sure why, but the con2fb lines only work for the
first tty. I have to manually run "con2fb /dev/fb0 /dev/tty2"
after I boot. Isn't con2fb supposed to do it for any ?

--
http://www.pervalidus.net/contact.html

2004-04-23 12:11:55

by Christoph Hellwig

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

On Thu, Apr 22, 2004 at 11:32:39PM +0800, [email protected] wrote:
> +static int __may_umount_tree(struct vfsmount *mnt, int root_mnt_only)
> +{
> + struct list_head *next;
> + struct vfsmount *this_parent = mnt;
> + int actual_refs;
> + int minimum_refs;
> +
> + spin_lock(&vfsmount_lock);
> + actual_refs = atomic_read(&mnt->mnt_count);
> + minimum_refs = 2;
> +
> + if (root_mnt_only) {
> + spin_unlock(&vfsmount_lock);
> + if (actual_refs > minimum_refs)
> + return -EBUSY;
> + return 0;

Sorry for changing my opionin, but I somehow thought autofs3 could make
more use of this function. it it's really just a single atomic_read that's
shared it doesn't really make a lot of sense, does it?

2004-04-23 13:30:23

by Ian Kent

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

On Fri, 23 Apr 2004, Christoph Hellwig wrote:

> On Thu, Apr 22, 2004 at 11:32:39PM +0800, [email protected] wrote:
> > +static int __may_umount_tree(struct vfsmount *mnt, int root_mnt_only)
> > +{
> > + struct list_head *next;
> > + struct vfsmount *this_parent = mnt;
> > + int actual_refs;
> > + int minimum_refs;
> > +
> > + spin_lock(&vfsmount_lock);
> > + actual_refs = atomic_read(&mnt->mnt_count);
> > + minimum_refs = 2;
> > +
> > + if (root_mnt_only) {
> > + spin_unlock(&vfsmount_lock);
> > + if (actual_refs > minimum_refs)
> > + return -EBUSY;
> > + return 0;
>
> Sorry for changing my opionin, but I somehow thought autofs3 could make
> more use of this function. it it's really just a single atomic_read that's
> shared it doesn't really make a lot of sense, does it?
>

That's right.

autofs3 requires it to behave as per the little description I put in.

So is the first version what we want?
Should I do a patch which reverts it or should I do a new patch that
adds the prototype I originally missed?

Be good to clear up what I need to do before I spend more time on it.

Ian

2004-04-23 13:35:30

by Christoph Hellwig

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

On Fri, Apr 23, 2004 at 09:33:10PM +0800, [email protected] wrote:
> autofs3 requires it to behave as per the little description I put in.
>
> So is the first version what we want?
> Should I do a patch which reverts it or should I do a new patch that
> adds the prototype I originally missed?
>
> Be good to clear up what I need to do before I spend more time on it.

It's say keep may_umount as is, and do a no-argument may_umount_tree
in namespace.c aswell. As for what patches is best ask akpm.

2004-04-24 13:40:47

by Ian Kent

[permalink] [raw]
Subject: Re: 2.6.6-rc2-mm1

On Fri, 23 Apr 2004, Christoph Hellwig wrote:

>
> It's say keep may_umount as is, and do a no-argument may_umount_tree
> in namespace.c aswell. As for what patches is best ask akpm.
>

Incremental patch to revert previous may_umount_tree patch based on
Christophs' further observation.

diff -Nur linux-2.6.6-rc1-mm1/fs/namespace.c linux-2.6.6-rc1-mm1.revert/fs/namespace.c
--- linux-2.6.6-rc1-mm1/fs/namespace.c 2004-04-22 21:06:09.000000000 +0800
+++ linux-2.6.6-rc1-mm1.revert/fs/namespace.c 2004-04-24 21:18:46.000000000 +0800
@@ -260,7 +260,15 @@
.show = show_vfsmnt
};

-static int __may_umount_tree(struct vfsmount *mnt, int root_mnt_only)
+/**
+ * may_umount_tree - check if a mount tree is busy
+ * @mnt: root of mount tree
+ *
+ * This is called to check if a tree of mounts has any
+ * open files, pwds, chroots or sub mounts that are
+ * also busy.
+ */
+int may_umount_tree(struct vfsmount *mnt)
{
struct list_head *next;
struct vfsmount *this_parent = mnt;
@@ -271,12 +279,6 @@
actual_refs = atomic_read(&mnt->mnt_count);
minimum_refs = 2;

- if (root_mnt_only) {
- if (actual_refs > minimum_refs)
- return -EBUSY;
- return 0;
- }
-
repeat:
next = this_parent->mnt_mounts.next;
resume:
@@ -307,19 +309,6 @@
return 0;
}

-/**
- * may_umount_tree - check if a mount tree is busy
- * @mnt: root of mount tree
- *
- * This is called to check if a tree of mounts has any
- * open files, pwds, chroots or sub mounts that are
- * also busy.
- */
-int may_umount_tree(struct vfsmount *mnt)
-{
- return __may_umount_tree(mnt, 0);
-}
-
EXPORT_SYMBOL(may_umount_tree);

/**
@@ -337,7 +326,9 @@
*/
int may_umount(struct vfsmount *mnt)
{
- return __may_umount_tree(mnt, 1);
+ if (atomic_read(&mnt->mnt_count) > 2)
+ return -EBUSY;
+ return 0;
}

EXPORT_SYMBOL(may_umount);

2004-04-25 01:20:34

by Adrian Bunk

[permalink] [raw]
Subject: [patch] 2.6.6-rc2-mm1: drm_irq.h has useless __NO_VERSION__

On Wed, Apr 21, 2004 at 01:45:44AM -0700, Andrew Morton wrote:
>...
> All 222 patches:
>...
> bk-drm.patch
>...

The drivers/char/drm/drm_irq.h in this patch contains a
#define __NO_VERSION__
which is useless since ages.

The patch below removes it.

Please apply
Adrian


--- linux-2.6.6-rc2-mm1-full/drivers/char/drm/drm_irq.h.old 2004-04-25 03:14:24.000000000 +0200
+++ linux-2.6.6-rc2-mm1-full/drivers/char/drm/drm_irq.h 2004-04-25 03:14:35.000000000 +0200
@@ -33,7 +33,6 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/

-#define __NO_VERSION__
#include "drmP.h"

#include <linux/interrupt.h> /* For task queue support */