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
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
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 *);
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
> - 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
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?
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
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.
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);
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 */