2.6.17-rc2-mm1
Subsystems (8)
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
- It took six hours work to get this release building and linking in just a basic fashion on eight-odd architectures. It's getting out of control.
The acphphp driver is still broken and v4l and memory hotplug are, I suspect, only hanging in there by the skin of their teeth.
Could patch submitters _please_ be a lot more careful about getting the Kconfig correct, testing various Kconfig combinations (yes sometimes people will want to disable your lovely new feature) and just generally think about these things a bit harder? It isn't rocket science.
- Added the GFS tree to the -mm lineup as git-gfs2.patch . The DLM patches were consequently dropped.
Boilerplate:
- See the `hot-fixes' directory for any important updates to this patchset.
- To fetch an -mm tree using git, use (for example)
git fetch git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git v2.6.16-rc2-mm1
- -mm kernel commit activity can be reviewed by subscribing to the mm-commits mailing list.
echo "subscribe mm-commits" | mail [email protected]
- If you hit a bug in -mm and it is not obvious which patch caused it, it is most valuable if you can perform a bisection search to identify which patch introduced the bug. Instructions for this process are at
http://www.zip.com.au/~akpm/linux/patches/stuff/bisecting-mm-trees.txt
But beware that this process takes some time (around ten rebuilds and reboots), so consider reporting the bug first and if we cannot immediately identify the faulty patch, then perform the bisection search.
- When reporting bugs, please try to Cc: the relevant maintainer and mailing list on any email.
Changes since 2.6.17-rc1-mm3:
origin.patch
git-acpi.patch
git-agpgart.patch
git-alsa.patch
git-arm.patch
git-cfq.patch
git-dvb.patch
git-gfs2.patch
git-ieee1394.patch
git-infiniband.patch
git-input.patch
git-intelfb.patch
git-libata-all.patch
git-mmc.patch
git-mtd.patch
git-netdev-all.patch
git-nfs.patch
git-ocfs2.patch
git-powerpc.patch
git-pcmcia.patch
git-scsi-misc.patch
git-scsi-rc-fixes.patch
git-scsi-target.patch
git-watchdog.patch
git-xfs.patch
git-cryptodev.patch
git-viro-bird-m32r.patch
git-viro-bird-m68k.patch
git-viro-bird-frv.patch
git-viro-bird-upf.patch
git-viro-bird-volatile.patch
git trees
-uml-make-64-bit-cow-files-compatible-with-32-bit-ones.patch -task-make-task-list-manipulations-rcu-safe.patch -for_each_possible_cpu-x86_64.patch
-uml-madv_remove-fixes.patch -m41t00-fix-bitmasks-when-writing-to-chip.patch -swsusp-prevent-possible-image-corruption-on-resume.patch -msi-k8t-neo2-fir-onboardsound-and-additional-soundcard.patch -sound-fix-hang-in-mpu401_uartc.patch -sound-fix-hang-in-mpu401_uartc-tidy.patch -for_each_possible_cpu-for-arm.patch -block-i-o-schedulers-document-runtime-selection.patch -drivers-char-drm-drm_memoryc-possible-cleanups.patch -drm-fix-further-issues-in-drivers-char-drm-via_irqc.patch -sbp2-consolidate-workarounds.patch -sbp2-add-read_capacity-workaround-for-ipod.patch -sbp2-make-tsb42aa9-workaround-specific-to-momobay-cx-1.patch -sbp2-add-ability-to-override-hardwired-blacklist.patch -mtd-improve-parameter-parsing-for-block2mtd.patch -mtd-improve-parameter-parsing-for-block2mtd-fix.patch -bcm43xx-sysfs-code-cleanup.patch -bcm43xx-fix-pctl-slowclock-limit-calculation.patch -e1000-fix-media_type-phy_type-thinko.patch -unaligned-access-in-sk_run_filter.patch -nfs-make-2-functions-static.patch -remove-needless-check-in-nfs_opendir.patch -fix-nfs-proc_fs=n-compile-error.patch -nfssunrpc-fix-compiler-warnings-if-config_proc_fs-config_sysctl-are-unset.patch -nfs_show_stats-for_each_possible_cpu-not-nr_cpus.patch -powerpc-pseries-bugfix-balance-calls-to-pci_device_put.patch -powerpc-pseries-clear-pci-failure-counter-if-no-new-failures.patch -serial-fix-uart_bug_txen-test.patch -git-scsi-misc-scsi_kmap_atomic_sg-warning-fix.patch -megaraid-unused-variable.patch -scsi-megaraid-megaraid_mmc-fix-a-null-pointer-dereference.patch -overrun-in-drivers-scsi-sim710c.patch -aic7xxx-ahc_pci_write_config-fix.patch -qla2xxx-only-free_irq-after-request_irq-succeeds.patch -git-splice-fixup.patch
-ftdi_sio-adds-support-for-iplus-device.patch -ipw2200-config_ipw_qos-to-config_ipw2200_qos.patch -softmac-uses-wiress-ext.patch
-bcm43xx_phyc-fix-a-memory-leak.patch -orinoco-remove-useless-cis-validation.patch -orinoco-remove-pcmcia-audio-support-its-useless-for-wireless-cards.patch -orinoco-remove-underscores-from-little-endian-field-names.patch -orinoco-fix-truncating-commsquality-rid-with-the-latest-symbol-firmware.patch -orinoco-remove-tracing-code-its-unused.patch -orinoco-remove-debug-buffer-code-and-userspace-include-support.patch -orinoco-symbol-card-supported-by-spectrum_cs-is-la4137-not-la4100.patch -orinoco-optimize-tx-exception-handling-in-orinoco.patch -orinoco-orinoco_xmit-should-only-return-valid-symbolic-constants.patch -orinoco-replace-hermes_write_words-with-hermes_write_bytes.patch -orinoco-dont-use-any-padding-for-tx-frames.patch -orinoco-refactor-and-clean-up-tx-error-handling.patch -orinoco-simplify-8023-encapsulation-code.patch -orinoco-fix-bap0-offset-error-after-several-days-of-operation.patch -orinoco-delay-fid-allocation-after-firmware-initialization.patch -orinoco_pci-disable-device-and-free-irq-when-suspending.patch -orinoco_pci-use-pci_iomap-for-resources.patch -orinoco-support-pci-suspend-resume-for-nortel-plx-and-tmd-adaptors.patch -orinoco-reduce-differences-between-pci-drivers-create-orinoco_pcih.patch -orinoco-further-comment-cleanup-in-the-pci-drivers.patch -orinoco-bump-version-to-015.patch -bcm43-wireless-fix-printk-format-warnings.patch -bcm43-fix-config-menu-alignment.patch -x86_64-mm-kdump-trigger-points.patch -x86_64-mm-increase-nodemap.patch
-x86_64-mm-new-syscalls.patch
-x86_64-mm-move-doublefault.patch
-x86_64-mm-alternatives-fix.patch
-arm-add_memory-build-fix.patch
-memory_hotplugh-cleanup.patch -mm-slobc-for_each_possible_cpu-not-nr_cpus.patch -oom-kill-mm-locking-fix.patch -mm-fix-mm_struct-reference-counting-bugs-in-mm-oom_killc.patch -page_allocc-buddy-handling-cleanup.patch -hugetlbfs-add-kconfig-help-text.patch -selinux-fix-mls-compatibility-off-by-one-bug.patch -asm-i386-atomich-local_irq_save-should-be-used-instead-of-local_irq_disable.patch -x86-cpuid-and-msr-notifier-callback-section-mismatches.patch -patch-to-limit-present-cpus-to-fake-cpu-hot-add-testing.patch -enable-sci_emulate-to-manually-simulate-physical-hotplug-testing.patch -drivers-acpi-busc-make-struct-acpi_sci_dir-static.patch -x86_64-use-select-for-gart_iommu-to-enable-agp.patch -x86_64-sparsemem-does-not-need-node_mem_map.patch -m32r-fix-pt_regs-for.patch -m32r-update-include-asm-m32r-semaphoreh.patch -m32r-mappi3-reboot-support.patch -m32r-remove-a-warning-of-m32r_sioc.patch -m32r-update-switch_to-macro-for-tuning.patch -uml-change-sigjmp_buf-to-jmp_buf.patch
-uml-__user-annotations.patch -uml-physical-memory-map-file-fixes.patch -uml-add-missing-__volatile__.patch -fix-file-lookup-without-ref.patch -update-obsolete_oss_driver-schedule-and-dependencies.patch -make-the-oss-sound_via82cxxx-option-available-again.patch -kconfigdebug-set-debug_mutex-to-off-by-default.patch -fs-fix-ocfs2-warning-when-debug_fs-is-not-enabled.patch -voyager-no-need-to-define-bits_per_byte-when-its-already-in-typesh.patch -apm-fix-armada-laptops-again.patch -doc-vm-hugetlbpage-update-2.patch
-ipmi-fix-devinit-placement.patch -config-update-usage-help-info.patch -fix-potential-null-pointer-deref-in-gen_init_cpio.patch -open-ipmi-bt-overflow.patch -parport_pc-fix-section-mismatch-warnings-v2.patch -pnp-fix-two-messages-in-managerc.patch -fix-dependencies-of-hugetlb_page_size_64k.patch -fix-dependencies-of-w1_slave_ds2433_crc.patch -tpm-spacing-cleanups.patch
-tpm-reorganize-sysfs-files.patch
-tpm-chip-struct-update.patch -tpm-return-chip-from-tpm_register_hardware.patch -tpm-command-duration-update.patch
-tpm-new-12-sysfs-files.patch
-tpm-new-12-sysfs-files-fix.patch -tpm-new-12-sysfs-files-fix-fix.patch -tpm-tpm-new-12-sysfs-files-fix-fix-fix.patch -tpm-driver-for-next-generation-tpm-chips.patch -tpm-driver-for-next-generation-tpm-chips-fix.patch -tpm-driver-for-next-generation-tpm-chips-fix-fix.patch -tpm-msecs_to_jiffies-cleanups.patch
-tpm-use-clear_bit.patch
-tpm-use-clear_bit-fix.patch
-tpm-use-clear_bit-fix-fix.patch
-tpm-use-clear_bit-fix-fix-fix.patch -tpm-use-clear_bit-fix-fix-fix-fix.patch -tpm-tpm_infineon-updated-to-latest-interface-changes.patch -tpm-check-mem-start-and-len.patch -tpm-update-bios-log-code-for-12.patch -tpm_infineon-section-fixup.patch -bluetooth-fix-problem-with-sco.patch -switch-kprobes-inline-functions-to-__kprobes-for-i386.patch -switch-kprobes-inline-functions-to-__kprobes-for-x86_64.patch -switch-kprobes-inline-functions-to-__kprobes-for-ppc64.patch -switch-kprobes-inline-functions-to-__kprobes-for-ia64.patch -switch-kprobes-inline-functions-to-__kprobes-for-sparc64.patch -ide-ati-sb600-ide-support.patch -remove-the-obsolete-idepci_flag_force_pdc.patch -alim15x3-uli-m-1573-south-bridge-support.patch -fb-fix-section-mismatch-in-savagefb.patch -radeonfb-section-mismatches.patch -savagefb-fix-section-mismatch-warnings.patch -fbdev-fix-return-error-of-fb_write.patch -remove-redundant-null-checks-before-free-in-net.patch
Merged
+remove-softlockup-from-invalidate_mapping_pages.patch +x25-fix-for-spinlock-recurse-and-spinlock-lockup-with.patch +off-by-1-in-kernel-power-mainc.patch +request_irq-remove-warnings-from-irq-probing.patch +input-fix-oops-on-mk712-load.patch +mv643xx_eth-provide-sysfs-class-device-symlink.patch +s390-make-qeth-buildable.patch +tpar-oops-fix.patch +fix-array-overrun-in-drivers-char-mwave-mwaveddc.patch +readd-the-oss-sound_cs4232-option.patch +avoid-printing-pointless-tsc-skew-msgs.patch +enable-x86_pc-for-hotplug_cpu.patch +mark-vmsplit-embedded.patch +kprobe-cleanup-for-vm_mask-judgement.patch +kprobe-fix-resume-execution-on-i386.patch
2.6.17 queue (mostly)
+acpiphp-use-new-dock-driver-fix.patch
Fix acpiphp-use-new-dock-driver.patch
+fw-memory-leakages-in-driver-acpi-videoc.patch +acpi-idle-__read_mostly-and-de-init-static-var.patch +acpi-suppress-power-button-event-on-s3-resume.patch
ACPI udpates
+remove-for_each_cpu.patch
Remove for_each_cpu().
+alsa-pcmcia-sound-devices-shouldnt-depend-on-isa.patch +alsa-rmmod-oops-fix.patch
ALSA fixes
+iosched-use-hlist-for-request-hashtable.patch
iosched cleanup
+gregkh-driver-frame-buffer-remove-cmap-sysfs-interface.patch +gregkh-driver-kobject-fix-build-error.patch +gregkh-driver-fix-ocfs2-warning-when-debug_fs-is-not-enabled.patch +gregkh-driver-kobject-possible-cleanups.patch +gregkh-driver-added-uri-of-linux-kernel-development-process.patch +gregkh-driver-class-device-add-attribute_group-creation.patch +gregkh-driver-netdev-create-attribute_groups-with-class_device_add.patch +gregkh-driver-tty-return-class-device-pointer-from-tty_register_device.patch +gregkh-driver-i4l-gigaset-move-sysfs-entry-to-tty-class-device.patch
Driver tree updates
+gregkh-driver-spi-spi_bitbang-clocking-fixes.patch
SPI fix
+netdev-hotplug-napi-race-cleanup.patch
net cleanup
+dvb-core-ule-fixes-and-rfc4326-additions-kernel-2616.patch +dvb-core-ule-fixes-and-rfc4326-additions-kernel-2616-tidy.patch
DVB feature
+vivi-build-fix.patch
+git-dvb-Kconfig-fix.patch
+git-dvb-Kconfig-fix-2.patch
git-dvb.patch is a bit sick.
+gregkh-i2c-rtc-add-support-for-m41t81-m41t85-chips-to-m41t00-driver.patch +gregkh-i2c-i2c-piix4-remove-fix_hstcfg-parameter.patch +gregkh-i2c-i2c-piix4-fix-typo-in-documentation.patch +gregkh-i2c-i2c-piix4-improve-ibm-error-message.patch +gregkh-i2c-i2c-nforce2-add-mcp51-mcp55-support.patch +gregkh-i2c-hwmon-hdaps-update-id-list.patch +gregkh-i2c-hwmon-w83791d-new-driver.patch +gregkh-i2c-hwmon-lm83-documentation-update.patch +gregkh-i2c-hwmon-improve-Kconfig-help.patch +gregkh-i2c-hwmon-vid-mask-per-vrm.patch
I2C tree updates.
+gregkh-i2c-w1-possible-cleanups.patch +gregkh-i2c-w1-fix-dependencies-of-w1_slave_ds2433_crc.patch
i2c cleanup and fix
-i2c-add-support-for-virtual-i2c-adapters-tidy.patch -i2c-add-support-for-virtual-i2c-adapters-fix.patch
Folded into i2c-add-support-for-virtual-i2c-adapters.patch
+i2c-mpc-fix-up-error-handling.patch +opencores-i2c-bus-driver.patch +opencores-i2c-bus-driver-tidy.patch +opencores-i2c-bus-driver-fix.patch +i2c-pca954x-fix-initial-access-to-first-mux-switch-port.patch
I2C updates.
+smc911x-Kconfig-fix.patch +via-rhine-zero-pad-short-packets-on-rhine-i-ethernet-cards.patch
netdev updates
+net-use-hlist_unhashed.patch
+ipv4-inet_init-fs_initcall.patch
net updates
+powerpc-pseries-avoid-crash-in-pci-code-if-mem-system-not-up.patch +powerpc-pseries-avoid-crash-in-pci-code-if-mem-system-not-up-tidy.patch
powerpc fix
+serial-fix-uart_bug_txen-test.patch
serial fix (needs work)
-improve-pci-config-space-writeback-tidy.patch
Folded into improve-pci-config-space-writeback.patch
+pci-quirk-via-irq-fixup-should-only-run-for-via-southbridges.patch +reverse-pci-config-space-restore-order.patch
PCI fixes
-revert-pci-pci-cardbus-cards-hidden-needs-pci=assign-busses-to-fix.patch
Dropped
+drivers-scsi-fix-proc_scsi_write-to-return-length-on.patch +drivers-scsi-sdc-fix-uninitialized-variable-in-handling-medium-errors.patch +drivers-scsi-aic7xxx-possible-cleanups-2.patch +scsi-remove-documentation-scsi-cpqfctxt.patch +enable-advansys-driver.patch
+advansys-warning-workaround.patch +scsi-clean-up-warnings-in-advansys-driver.patch +scsi-clean-up-warnings-in-advansys-driver-fix.patch +mpt-fusion-driver-initialization-failure-fix.patch
SCSI fixes
-areca-raid-linux-scsi-driver-update4.patch
-areca-raid-linux-scsi-driver-update5.patch
Foxled into areca-raid-linux-scsi-driver.patch.
+gregkh-usb-usb-resource-leak-fix-for-whiteheat-driver.patch +gregkh-usb-usb-add-new-itegno-usb-cdma-1x-card-support-for-pl2303.patch +gregkh-usb-usb-storage-unusual-devs-update.patch +gregkh-usb-usb-storage-atmel-unusual-dev-update.patch +gregkh-usb-usb-net2280-handle-stalls-for-0-length-control-in-requests.patch +gregkh-usb-usb-net2280-send-0-length-packets-for-ep0.patch +gregkh-usb-usb-net2280-check-for-shared-irqs.patch +gregkh-usb-usb-net2280-set-driver-data-before-it-is-used.patch +gregkh-usb-usb-use-new-pci_class_serial_usb_-defines.patch +gregkh-usb-usb-ftdi_sio-vendor-code-for-rr-cirkits-locobuffer-usb.patch +gregkh-usb-usb-ftdi_sio-adds-support-for-iplus-device.patch +gregkh-usb-usb-ftdi_sio-add-support-for-ask-rdr-400-series-card-reader.patch +gregkh-usb-usb-sisusbvga-possible-cleanups.patch +gregkh-usb-usb-allow-multiple-types-of-ehci-controllers-to-be-built-as-modules.patch +gregkh-usb-usb-console-fix-cr-lf-issues.patch +gregkh-usb-usb-console-fix-oops.patch +gregkh-usb-usb-console-prevent-enodev-on-node.patch +gregkh-usb-usb-macbook-pro-touchpad-support.patch
USB tree updates
+fix-sco-on-some-bluetooth-adapters.patch
+fix-sco-on-some-bluetooth-adapters-tidy.patch
USB fix
+x86_64-mm-acpi-nolapic.patch +x86_64-mm-ia32-unistd-cleanup.patch +x86_64-mm-large-bzimage.patch +x86_64-mm-topology-comment.patch +x86_64-mm-agp-select.patch +x86_64-mm-iommu_gart_bitmap-search-to-cross-next_bit.patch +x86_64-mm-new-compat-ptrace.patch
x86_64 tree updates
+gregkh-devfs-devfs-die-die-die.patch +gregkh-devfs-devfs-remove-documentation.patch +gregkh-devfs-devfs-scrub-partitions.patch +gregkh-devfs-devfs-scrub-init.patch +gregkh-devfs-devfs-remove-serial-subsystem.patch +gregkh-devfs-devfs-remove-ide-subsystem.patch +gregkh-devfs-devfs-remove-sound-subsystem.patch +gregkh-devfs-devfs-remove-devfs-tape.patch +gregkh-devfs-devfs-remove-devfs_mk_dir.patch +gregkh-devfs-devfs-remove-devfs_mk_symlink.patch +gregkh-devfs-devfs-remove-devfs_mk_bdev.patch +gregkh-devfs-devfs-remove-devfs_mk_cdev.patch +gregkh-devfs-devfs-remove-devfs_remove.patch +gregkh-devfs-devfs-remove-devfs_fs_kernel.h.patch +gregkh-devfs-devfs-remove-misc-devfs_name.patch +gregkh-devfs-devfs-remove-genhd-devfs_name.patch +gregkh-devfs-devfs-remove-videodev-devfs_name.patch +gregkh-devfs-devfs-remove-line-devfs_name.patch +gregkh-devfs-devfs-remove-tty-devfs_name.patch +gregkh-devfs-devfs-tty_driver_no_devfs.patch +gregkh-devfs-devfs-minor-cleanups.patch +gregkh-devfs-devfs-feature-removal.patch +gregkh-devfs-ndevfs.patch
Remove devfs
+reserve-space-for-swap-label.patch +read-write-migration-entries-implement-correct-behavior-in-copy_one_pte.patch +read-write-migration-entries-make-mprotect-convert-write-migration.patch +read-write-migration-entries-make-mprotect-convert-write-migration-fix.patch +read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix.patch +read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix-fix.patch +swsusp-rework-memory-shrinker-rev-2.patch
Memory management updates
+pgdat-allocation-for-new-node-add-specify-node-id.patch +pgdat-allocation-for-new-node-add-specify-node-id-powerpc-fix.patch +pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch +pgdat-allocation-for-new-node-add-specify-node-id-fix-3.patch +pgdat-allocation-for-new-node-add-get-node-id-by-acpi.patch +pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch +pgdat-allocation-for-new-node-add-generic-alloc-node_data.patch +pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch +pgdat-allocation-for-new-node-add-refresh-node_data.patch +pgdat-allocation-for-new-node-add-refresh-node_data-fix.patch +pgdat-allocation-for-new-node-add-export-kswapd-start-func.patch +pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch +pgdat-allocation-for-new-node-add-call-pgdat-allocation.patch
Memory hotplug (node add)
+mm-introduce-remap_vmalloc_range.patch +mm-introduce-remap_vmalloc_range-tidy.patch +mm-introduce-remap_vmalloc_range-fix.patch +change-gen_pool-allocator-to-not-touch-managed-memory.patch +change-gen_pool-allocator-to-not-touch-managed-memory-update.patch +change-gen_pool-allocator-to-not-touch-managed-memory-update-2.patch +radix-tree-direct-data.patch
+radix-tree-small.patch +likely-cleanup-remove-unlikely-in-sys_mprotect.patch
More memory management updates
+x86-x86_64-avoid-irq0-ioapic-pin-collision.patch +x86-x86_64-avoid-irq0-ioapic-pin-collision-tidy.patch
x86_64 fix
+swsusp-add-architecture-special-saveable-pages-fix.patch
Fix swsusp-add-architecture-special-saveable-pages-support.patch
+swsusp-i386-mark-special-saveable-unsaveable-pages-fix.patch
Fix swsusp-i386-mark-special-saveable-unsaveable-pages.patch
+swsusp-x86_64-mark-special-saveable-unsaveable-pages-fix.patch
Fix swsusp-x86_64-mark-special-saveable-unsaveable-pages.patch
+kernel-power-snapshotc-cleanups.patch
+swsusp-use-less-memory-during-resume.patch
swsusp updates
-uml-prepare-fixing-compilation-output.patch
Dropped.
+s390-fix-i-o-termination-race-in-cio.patch +s390-enable-interrupts-on-error-path.patch +s390-bug-in-setup_rt_frame.patch +s390-alternate-signal-stack-handling-bug.patch +s390-qdio-memory-allocations.patch +s390-dasd-ioctl-never-returns.patch +s390-fix-slab-debugging.patch +s390-futex-atomic-operations.patch +s390-futex-atomic-operations-part-2.patch +s390-tape-3590-changes.patch +s390-segment-operation-error-codes.patch +s390-instruction-processing-damage-handling.patch +s390-add-read_mostly-optimization.patch +s390-dasd-device-identifiers.patch +s390-dasd-device-identifiers-fix.patch +s390-new-system-calls.patch
s390 updates
-fix-cdrom-being-confused-on-using-kdump-tweaks.patch
Folded into fix-cdrom-being-confused-on-using-kdump.patch
+cond-resched-might-sleep-fix.patch +enhancing-accessibility-of-lxdialog.patch +the-scheduled-unexport-of-insert_resource.patch +jbd-fix-bug-in-journal_commit_transaction.patch +rename-swapper-to-idle.patch +oss-cs46xx-cleanup-and-tiny-bugfix.patch +i4l-memory-leak-fix-for-sc_ioctl.patch +isdn-unsafe-interaction-between-isdn_write-and-isdn_writebuf_stub.patch +invert-irq-migrationc-brach-prediction.patch +x86-powerpc-make-hardirq_ctx-and-softirq_ctx-__read_mostly.patch +jbd-avoid-kfree-null.patch +ext3_clear_inode-avoid-kfree-null.patch +make-noirqdebug-irqfixup-__read_mostly-add-unlikely.patch +leds-amstrad-delta-led-support.patch +leds-amstrad-delta-led-support-tidy.patch +update-devicestxt.patch +binfmt_elf-codingstyle-cleanup-and-remove-some-pointless-casts.patch +binfnt_elf-remove-more-casts.patch +fix-incorrect-sa_onstack-behaviour-for-64-bit-processes.patch +percpu-counter-data-type-changes-to-suppport.patch +percpu-counter-data-type-changes-to-suppport-fix.patch +remove-unlikely-in-might_sleep_if.patch +process-events-header-cleanup.patch +process-events-license-change.patch
+strstrip-api.patch
+ipmi-strstrip-conversion.patch +rcu-introduce-rcu_needs_cpu-interface.patch +s390-exploit-rcu_needs_cpu-interface.patch
Misc updates
+time-rename-clocksource-functions.patch
+make-pmtmr_ioport-__read_mostly.patch
Update time management patches in -mm.
+kprobe-boost-2byte-opcodes-on-i386.patch
+kprobemulti-kprobe-posthandler-for-booster.patch
+notify-page-fault-call-chain-for-x86_64.patch
+notify-page-fault-call-chain-for-i386.patch
+notify-page-fault-call-chain-for-ia64.patch
+notify-page-fault-call-chain-for-powerpc.patch
+notify-page-fault-call-chain-for-sparc64.patch
+kprobes-registers-for-notify-page-fault.patch
+notify-page-fault-call-chain.patch
kprobes updates
-dlm-core-locking.patch
-dlm-core-locking-resend-lookups.patch
-dlm-lockspaces-callbacks-directory.patch
-dlm-communication.patch
-dlm-recovery.patch
-dlm-recovery-clear-new_master-flag.patch
-dlm-recovery-remove-true-false-defines.patch
-dlm-configuration.patch
-dlm-device-interface.patch
-dlm-device-interface-fix-device-refcount.patch
-dlm-device-interface-dlm-force-unlock.patch
-dlm-device-interface-missing-variable.patch
-dlm-device-interface-check-allocation.patch
-dlm-device-interface-fix-unlock-race.patch
-dlm-device-interface-use-kzalloc.patch
-dlm-debug-fs.patch
-dlm-build.patch
-dlm-node-weights.patch
-dlm-rsb-flag-ops-with-inlined-functions.patch
-dlm-rework-recovery-control.patch
-dlm-better-handling-of-first-lock.patch
-dlm-no-directory-option.patch
-dlm-release-list-of-root-rsbs.patch
-dlm-return-error-in-status-reply.patch
-configfs-export-config_group_find_obj.patch
-dlm-use-configfs.patch
-dlm-remove-file.patch
-dlm-use-jhash.patch
-dlm-maintainer.patch
-drivers-dlm-fix-up-schedule_timeout-usage.patch
-dlm-cleanup-unused-functions.patch
-dlm-include-own-headers.patch
-dlm-sem2mutex.patch
Dropped.
+smpnice-dont-consider-sched-groups-which-are-lightly-loaded-for-balancing.patch +smpnice-dont-consider-sched-groups-which-are-lightly-loaded-for-balancing-fix.patch +sched-avoid-unnecessarily-moving-highest-priority-task-move_tasks.patch +sched-avoid-unnecessarily-moving-highest-priority-task-move_tasks-fix-2.patch
CPU scheduler updates
+rtmutex-remove-buggy-bug_on-in-pi-boosting-code.patch +futex-pi-enforce-waiter-bit-when-owner-died-is-detected.patch +rtmutex-debug-printk-correct-task-information.patch +futex-pi-make-use-of-restart_block-when-interrupted.patch
pi-futex updates
+proc-dont-lock-task_structs-indefinitely-task_mmu-small-fixes.patch
Fix proc-dont-lock-task_structs-indefinitely.patch
+ide-pdc202xx_oldc-remove-unneeded-tuneproc-call.patch +ide-hpt3xxn-clocking-fixes.patch +ide-io-increase-timeout-value-to-allow-for-slave-wakeup.patch +ide-actually-honor-drives-minimum-pio-dma-cycle-times.patch
IDE updates
+savagefb-allocate-space-for-current-and-saved-register.patch +savagefb-add-state-save-and_restore-hooks.patch +savagefb-add-state-save-and_restore-hooks-tidy.patch +savagefb-add-state-save-and_restore-hooks-fix.patch +suspend-documentation-update-for-ibm-thinkpad-x30.patch +asiliantfb-add-help-text-in-kconfig.patch +backlight-locomo-backlight-driver-updates.patch +fbdev-cleanup-the-config_video_select-mess.patch +fbdev-remove-duplicate-includes.patch +matroxfb-fix-dvi-setup-to-be-more-compatible.patch
fbdev updates
+drivers-char-ipmi-ipmi_msghandlerc-make-proc_ipmi_root-static.patch +drivers-message-i2o-iopc-unexport-i2o_msg_nop.patch
Little fixes
All 707 patches:
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/patch-list
Quoted 5 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
- It took six hours work to get this release building and linking in just a basic fashion on eight-odd architectures. It's getting out of control.
We all appreciate your hard work.
Quoted 7 lines
The acphphp driver is still broken and v4l and memory hotplug are, I suspect, only hanging in there by the skin of their teeth.
Could patch submitters _please_ be a lot more careful about getting the
Kconfigcorrect, testing variousKconfigcombinations (yes sometimes people will want to disable your lovely new feature) and just generally think about these things a bit harder? It isn't rocket science.
Is this something that could be automated with some machine power?
e.g. every time a patch is added a small cluster could build the patches with some configurations on various architectures and if it doesn't build autoflame the patch submitter.
We use this in SUSE for the SUSE kernels and it works quite well.
Maybe someone could contribute the build power needed for that. I suppose it could be done by just a few scripts listening to mm-commits?
-Andi
Quoted 11 lines · Andi Kleen
Quoted 8 lines
The acphphp driver is still broken and v4l and memory hotplug are, I suspect, only hanging in there by the skin of their teeth.
Could patch submitters _please_ be a lot more careful about getting the
Kconfigcorrect, testing variousKconfigcombinations (yes sometimes people will want to disable your lovely new feature) and just generally think about these things a bit harder? It isn't rocket science.Is this something that could be automated with some machine power?
Quoted 8 lines
e.g. every time a patch is added a small cluster could build the patches with some configurations on various architectures and if it doesn't build autoflame the patch submitter.
We use this in SUSE for the SUSE kernels and it works quite well.
Maybe someone could contribute the build power needed for that. I suppose it could be done by just a few scripts listening to mm-commits?
I suspect something like that would be quite a lot of work to set up - first-up one has to get all the patches to actually apply, and then work
through any compile-time interactions between them. Dunno.
I don't like dropping patches. Because then the thing needs to be fixed up and resent and remerged and re-reviewed and rejects need to re-fixed-up and this adds emailing overhead and 12-24 hour turnaround, etc. I very much prefer to hang onto the patch and get it fixed up. This means that I usually have to do the fixing-up.
And that's OK - it's one of the things I do. But it's striking how silly so many of these problems are - they demonstrate a very basic lack of care and thought.
It's obvious that the originators haven't even compiled their feature with its config option disabled, or they haven't spent the requisite 30 seconds thinking about their Kconfig dependencies, or they haven't verified that all architectures support the architecture functions which they're relying upon or they haven't grepped the tree for symbol clashes, etc.
So at this point in time what I'd like to do is to encourage developers to do these very basic things. That's the low-hanging fruit right now.
Quoted 16 lines · Andrew Morton
Quoted 15 lines · Andi Kleen
Quoted 8 lines
The acphphp driver is still broken and v4l and memory hotplug are, I suspect, only hanging in there by the skin of their teeth.
Could patch submitters _please_ be a lot more careful about getting the
Kconfigcorrect, testing variousKconfigcombinations (yes sometimes people will want to disable your lovely new feature) and just generally think about these things a bit harder? It isn't rocket science.Is this something that could be automated with some machine power?
e.g. every time a patch is added a small cluster could build the patches with some configurations on various architectures and if it doesn't build autoflame the patch submitter.
Quoted 8 lines
Quoted 4 lines
We use this in SUSE for the SUSE kernels and it works quite well.
Maybe someone could contribute the build power needed for that. I suppose it could be done by just a few scripts listening to mm-commits?
I suspect something like that would be quite a lot of work to set up - first-up one has to get all the patches to actually apply, and then work
through any compile-time interactions between them. Dunno.
The invariant could be that any single new patch added should still compile. And it should apply of course. If not then warn the submitter. Might generate quite a lot of email though.
Problem is when people add new stuff in multiple pieces that only compile together though. iirc they go to mm-commits as individual pieces, not a bundle right now.
It would probably not catch everything - just a few common configurations and architectures.
Quoted 6 lines
I don't like dropping patches. Because then the thing needs to be fixed up and resent and remerged and re-reviewed and rejects need to re-fixed-up and this adds emailing overhead and 12-24 hour turnaround, etc. I very much prefer to hang onto the patch and get it fixed up. This means that I usually have to do the fixing-up.
If it's caught early enough the submitter can be warned and they might even fix it up themselves and send a new patch.
Quoted 2 lines
So at this point in time what I'd like to do is to encourage developers to do these very basic things. That's the low-hanging fruit right now.
Write a checklist for that?
-Andi
checklist (Re: 2.6.17-rc2-mm1)
Quoted 5 lines
Quoted 3 lines
So at this point in time what I'd like to do is to encourage developers to do these very basic things. That's the low-hanging fruit right now.
Write a checklist for that?
I've been meaning to write up one myself, so I'll give it a shot.
This is all above and beyond good patch log descriptions.
1. Build cleanly with applicable or modified CONFIG options =y, =m, and =n. No gcc warnings/errors, no linker warnings/errors.
2. Build on multiple CPU arch-es by using local cross-compile tools or something like PLM at OSDL.
3. Check cleanly with sparse.
4. Make sure that any new or modified CONFIG options don't muck up the config menu.
5. Use 'make checkstack' and 'make namespacecheck' and fix any problems that they find. Note: checkstack does not point out problems explicitly, but any one function that uses more than 512 bytes on the stack is a candidate for change.
6. Include kernel-doc to document global kernel APIs. (Not required for static functions, but OK there also.) Use 'make htmldocs' or 'make mandocs' to check the kernel-doc and fix any issues.
---
~Randy
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 23 lines · Randy.Dunlap
Quoted 6 lines
Quoted 4 lines
So at this point in time what I'd like to do is to encourage developers to do these very basic things. That's the low-hanging fruit right now.
Write a checklist for that?
I've been meaning to write up one myself, so I'll give it a shot.
This is all above and beyond good patch log descriptions.
1. Build cleanly with applicable or modified CONFIG options =y, =m, and =n. No gcc warnings/errors, no linker warnings/errors.
2. Build on multiple CPU arch-es by using local cross-compile tools or something like PLM at OSDL.
3. Check cleanly with sparse.
4. Make sure that any new or modified CONFIG options don't muck up the config menu.
Quoted 9 lines
5. Use 'make checkstack' and 'make namespacecheck' and fix any problems that they find. Note: checkstack does not point out problems explicitly, but any one function that uses more than 512 bytes on the stack is a candidate for change.
6. Include kernel-doc to document global kernel APIs. (Not required for static functions, but OK there also.) Use 'make htmldocs' or 'make mandocs' to check the kernel-doc and fix any issues.
A lot of these are pretty hard and labor-intensive for people to set up and run. It would be nice, but from a global perspective it's not efficient for every member of the kernel team to do all these things. It's OK I think if a few specialists run these tools against lots of people's patches all at once.
Which is basically what we're doing now, although I suspect we could be more rigorous about it.
I should be doing more of these things myself, but it's plenty enough work getting though the "applies, doesn't-ridicule-coding-style, compiles-without-warnings, boots-on-several-arches" steps. It's good that Adrian does some of the other steps. I'm not aware of anyone who is doing regular sparse and kernel-doc checking on -mm.
That all being said, these are all good things to have in a list.
To your list I'd add
- Passes allnoconfig, allmodconfig
- Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP all simultaneously enabled.
- Has been build- and runtime tested with and without CONFIG_SMP and CONFIG_PREEMPT.
- If it affects IO/Disk, etc: has been tested with and without CONFIG_LBD.
- ppc64 is a good architecture for cross-compilation checking because it tends to use `unsigned long' for 64-bit quantities.
- Has been carefully reviewed wrt relevant Kconfig combinations. This is very hard to get right with testing - brainpower pays off here.
- Matches kernel coding style(!)
- All new Kconfig options have help text
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 34 lines · On Thu, 27 Apr 2006 13:11:00 -0700 Andrew Morton wrote:
Quoted 23 lines · Randy.Dunlap
Quoted 6 lines
Quoted 4 lines
So at this point in time what I'd like to do is to encourage developers to do these very basic things. That's the low-hanging fruit right now.
Write a checklist for that?
I've been meaning to write up one myself, so I'll give it a shot.
This is all above and beyond good patch log descriptions.
1. Build cleanly with applicable or modified CONFIG options =y, =m, and =n. No gcc warnings/errors, no linker warnings/errors.
2. Build on multiple CPU arch-es by using local cross-compile tools or something like PLM at OSDL.
3. Check cleanly with sparse.
4. Make sure that any new or modified CONFIG options don't muck up the config menu.
Quoted 9 lines
5. Use 'make checkstack' and 'make namespacecheck' and fix any problems that they find. Note: checkstack does not point out problems explicitly, but any one function that uses more than 512 bytes on the stack is a candidate for change.
6. Include kernel-doc to document global kernel APIs. (Not required for static functions, but OK there also.) Use 'make htmldocs' or 'make mandocs' to check the kernel-doc and fix any issues.
Quoted 5 lines
A lot of these are pretty hard and labor-intensive for people to set up and run. It would be nice, but from a global perspective it's not efficient for every member of the kernel team to do all these things. It's OK I think if a few specialists run these tools against lots of people's patches all at once.
Yes, I know/agree. This is basically what I do (and hope others would do) for larger patches, not smallish ones.
Quoted 27 lines
Which is basically what we're doing now, although I suspect we could be more rigorous about it.
I should be doing more of these things myself, but it's plenty enough work getting though the "applies, doesn't-ridicule-coding-style, compiles-without-warnings, boots-on-several-arches" steps. It's good that Adrian does some of the other steps. I'm not aware of anyone who is doing regular sparse and kernel-doc checking on -mm.
That all being said, these are all good things to have in a list.
To your list I'd add
- Passes allnoconfig, allmodconfig
- Has been tested with
CONFIG_PREEMPT,CONFIG_DEBUG_SLAB,CONFIG_DEBUG_PAGEALLOC,CONFIG_DEBUG_MUTEXES,CONFIG_DEBUG_SPINLOCK,CONFIG_DEBUG_SPINLOCK_SLEEPall simultaneously enabled.- Has been build- and runtime tested with and without
CONFIG_SMPandCONFIG_PREEMPT.- If it affects IO/Disk, etc: has been tested with and without
CONFIG_LBD.- ppc64 is a good architecture for cross-compilation checking because it tends to use `unsigned long' for 64-bit quantities.
Quoted 6 lines
- Has been carefully reviewed wrt relevant
Kconfigcombinations. This is very hard to get right with testing - brainpower pays off here.- Matches kernel coding style(!)
- All new
Kconfigoptions have help text
Yep, all good, of course.
---
~Randy
Re: checklist (Re: 2.6.17-rc2-mm1)
In reply to Andrew MortonQuoted 8 lines
A lot of these are pretty hard and labor-intensive for people to set up and run. It would be nice, but from a global perspective it's not efficient for every member of the kernel team to do all these things. It's OK I think if a few specialists run these tools against lots of people's patches all at once.
Which is basically what we're doing now, although I suspect we could be more rigorous about it.
How about if I set up an automated email drop - you email it a patch and it will compile test it on a few different configs and run sparse, will send you back mail when it's done.
I don't want to boot it, as that gets into security nightmares, but I should be able to provide something that does static testing.
Quoted 1 line
- Matches kernel coding style(!)
E_NEEDS_AUTOMATED_FILTER / lint of some form.
The others all look doable.
The intent would not be that you get burdened with this, but that developers send it there before sending it to you. It could even hand out
tokens to people who use it ;-)
M.
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 4 lines · Martin Bligh
Quoted 2 lines
- Matches kernel coding style(!)
E_NEEDS_AUTOMATED_FILTER/ lint of some form.
Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
Quoted 5 lines
The others all look doable.
The intent would not be that you get burdened with this, but that developers send it there before sending it to you. It could even hand out
It would be better to automate this - not require the developers to do lots of manual steps.
-Andi
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 10 lines · Andi Kleen
Quoted 4 lines · Martin Bligh
Quoted 2 lines
- Matches kernel coding style(!)
E_NEEDS_AUTOMATED_FILTER/ lint of some form.Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
apparently the solaris one is released now as free software. haven't actually looked at it yet, and it'd surely need various changes to enforce the linux rules.
Re: checklist (Re: 2.6.17-rc2-mm1)
In reply to Andi KleenQuoted 2 lines
Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
heh. we could do some basic stuff at least. run through lindent, and see if it changes ;-)
Quoted 8 lines
Quoted 5 lines
The others all look doable.
The intent would not be that you get burdened with this, but that developers send it there before sending it to you. It could even hand out
It would be better to automate this - not require the developers to do lots of manual steps.
Can't tell whether that was meant to be positive or negative feedback. All this would require is "email patch to [email protected]".
M.
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 5 lines · Martin Bligh
Quoted 2 lines
Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
heh. we could do some basic stuff at least. run through lindent, and see if it changes ;-)
Good luck weeding out the false positives from that.
Quoted 2 lines
Can't tell whether that was meant to be positive or negative feedback. All this would require is "email patch to [email protected]".
I meant it would be better if it happened automatically when the patch is submitted through the normal channels.
-Andi
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 9 lines · Andi Kleen
Quoted 5 lines · Martin Bligh
Quoted 2 lines
Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
heh. we could do some basic stuff at least. run through lindent, and see if it changes ;-)
Good luck weeding out the false positives from that.
Yes, I was joking.
Quoted 6 lines
Quoted 2 lines
Can't tell whether that was meant to be positive or negative feedback. All this would require is "email patch to [email protected]".
I meant it would be better if it happened automatically when the patch is submitted through the normal channels.
It would, and it pretty much does right now, in that we test -mm (OK, we don't run sparse, but that's easy to fix). What I was trying to do was take the burden off Andrew for handling the testing of every single patch, which means getting the developer to deal with it. Personally, I don't think "please email your patch in for automated testing" is too much to ask from them.
It'd be easy to make the automated tester forward it to Andrew or whatever, if it passed the tests.
M.
Re: checklist (Re: 2.6.17-rc2-mm1)
Hi,
Quoted 27 lines · Martin Bligh
Quoted 9 lines · Andi Kleen
Quoted 5 lines · Martin Bligh
Quoted 2 lines
Some Unixes have a cstyle(1). Maybe there is a free variant of it somewhere. But such a tool might put a lot of people on l-k out of job @)
heh. we could do some basic stuff at least. run through lindent, and see if it changes ;-)
Good luck weeding out the false positives from that.
Yes, I was joking.
Quoted 6 lines
Quoted 2 lines
Can't tell whether that was meant to be positive or negative feedback. All this would require is "email patch to [email protected]".
I meant it would be better if it happened automatically when the patch is submitted through the normal channels.
It would, and it pretty much does right now, in that we test -mm (OK, we don't run sparse, but that's easy to fix). What I was trying to do was take the burden off Andrew for handling the testing of every single patch, which means getting the developer to deal with it. Personally, I don't think "please email your patch in for automated testing" is too much to ask from them.
Quoted 2 lines
It'd be easy to make the automated tester forward it to Andrew or whatever, if it passed the tests.
I think an automated tester would be a good tool for developers if it could email the results back to them. At least I would be using it. :-)
And if you want to make developers use it, you can design it to generate a unique tag for each patch successfully tested and ask the developers to include these tags in the patch headers.
Greetings,
Rafael
Signature · 3 lines
dr Rafał J. Wysocki Systemy i Sieci Komputerowe +48 605 05 36 93
Re: checklist (Re: 2.6.17-rc2-mm1)
In reply to Martin BlighQuoted 2 lines · Martin Bligh
Quoted 1 line
[...]
I don't want to boot it, as that gets into security nightmares, but I should be able to provide something that does static testing.
Actually, booting might not be that bad using a virtual machine with qemu.
You can use a command like:
qemu -nographic -kernel <kernel_image> -append <command line> -initrd <initrd file>
and then set up the <command line> to use the serial console, and the initrd to something simple that just outputs "[SUCCESS]" and powers off.
You can then monitor the standard output of this process. If after a minute (for instance) no "[SUCCESS]" appears on its standard output, it didn't boot and you have the dmesg data to (hopefully) show why it didn't boot.
If it outputs "[SUCCESS]", then it booted fine. You still can append the dmesg output to the test report.
Of course, the kernel configuration must include support for serial console and the initrd filesystem used, at least.
Well, just my 2 cents,
Signature · 4 lines
Paulo Marques - www.grupopie.com
Pointy-Haired Boss: I don't see anything that could stand in our way.
Dilbert: Sanity? Reality? The laws of physics?Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 4 lines
and then set up the <command line> to use the serial console, and the initrd to something simple that just outputs "[SUCCESS]" and powers off.
Let it run for 5 minutes or so, to catch silly things like jiffy wraparound and bombs that go off a little later than kernel boot.
Jan Engelhardt
Re: checklist (Re: 2.6.17-rc2-mm1)
In reply to Paulo MarquesQuoted 6 lines · Paulo Marques
Quoted 3 lines · Martin Bligh
Quoted 1 line
[...]
I don't want to boot it, as that gets into security nightmares, but I should be able to provide something that does static testing.
Actually, booting might not be that bad using a virtual machine with qemu.
Honestly, the security nightmare begins with the compile. A patch to the build system can result in arbitrarily insecure commands being run during the compile - way easier than doing something that affects the compiled kernel. A machine doing automatic compiles of untrusted patches should be viewed as completely sacrificial from the beginning.
-VAL
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 8 lines · Valerie Henson
Quoted 6 lines · Paulo Marques
Quoted 3 lines · Martin Bligh
Quoted 1 line
[...]
I don't want to boot it, as that gets into security nightmares, but I should be able to provide something that does static testing.
Quoted 8 lines
Quoted 1 line
Actually, booting might not be that bad using a virtual machine with qemu.
Honestly, the security nightmare begins with the compile. A patch to the build system can result in arbitrarily insecure commands being run during the compile - way easier than doing something that affects the compiled kernel. A machine doing automatic compiles of untrusted patches should be viewed as completely sacrificial from the beginning.
True - good point ... but it's easier to chroot jail. And I'm lazy ;-) If anyone wants to make autotest (http://test.kernel.org/autotest)
support some sort of virtual boot via creating a UML instance or something, that'd be great. But I won't hold my breath ;-)
M.
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 8 lines · Martin Bligh
Quoted 6 lines · Valerie Henson
Honestly, the security nightmare begins with the compile. A patch to the build system can result in arbitrarily insecure commands being run during the compile - way easier than doing something that affects the compiled kernel. A machine doing automatic compiles of untrusted patches should be viewed as completely sacrificial from the beginning.
Quoted 4 lines
True - good point ... but it's easier to chroot jail. And I'm lazy ;-) If anyone wants to make autotest (http://test.kernel.org/autotest)
support some sort of virtual boot via creating a UML instance or something, that'd be great. But I won't hold my breath ;-)
I think you should do this, security issues be darned. Just wanted to point out where the real concern was. And thanks in advance!
-VAL
Re: checklist (Re: 2.6.17-rc2-mm1)
In reply to Andrew MortonQuoted 2 lines · Andrew Morton
Adrian does some of the other steps. I'm not aware of anyone who is doing regular sparse and kernel-doc checking on -mm.
Sparse checks are in the results at http://l4x.org/k/ . There is just someone missing who looks at the results :(
Jan
Re: checklist (Re: 2.6.17-rc2-mm1)
Quoted 6 lines · On Thu, 27 Apr 2006 22:52:00 +0200 Jan Dittmer wrote:
Quoted 2 lines · Andrew Morton
Adrian does some of the other steps. I'm not aware of anyone who is doing regular sparse and kernel-doc checking on -mm.
Sparse checks are in the results at http://l4x.org/k/ . There is just someone missing who looks at the results :(
Thanks for reminding us of the URL.
If someone wants to try to fix those, they still should verify their patches with gcc & sparse, of course.
And we've seen that problem of not looking at the results before. :(
---
~Randy
Quoted 5 lines · Andrew Morton
I don't like dropping patches. Because then the thing needs to be fixed up and resent and remerged and re-reviewed and rejects need to re-fixed-up and this adds emailing overhead and 12-24 hour turnaround, etc. I very much prefer to hang onto the patch and get it fixed up. This means that I usually have to do the fixing-up.
Perhaps dropping patches with obvious faults with some feedback to submitter may reduce your workload ;) And is slowing down the merge a little in these cases such a bad thing if it improves patch quality over time?
Grant.
Quoted 8 lines · On Fri, 28 Apr 2006 07:41:52 +1000 Grant Coady wrote:
Quoted 5 lines · Andrew Morton
I don't like dropping patches. Because then the thing needs to be fixed up and resent and remerged and re-reviewed and rejects need to re-fixed-up and this adds emailing overhead and 12-24 hour turnaround, etc. I very much prefer to hang onto the patch and get it fixed up. This means that I usually have to do the fixing-up.
Quoted 4 lines
Perhaps dropping patches with obvious faults with some feedback to submitter may reduce your workload ;) And is slowing down the merge a little in these cases such a bad thing if it improves patch quality over time?
True dat. That's what I would do. :)
But I seem to need more sleep than Andrew does.
---
~Randy
Quoted 11 lines · Randy.Dunlap
Quoted 8 lines · On Fri, 28 Apr 2006 07:41:52 +1000 Grant Coady wrote:
Quoted 5 lines · Andrew Morton
I don't like dropping patches. Because then the thing needs to be fixed up and resent and remerged and re-reviewed and rejects need to re-fixed-up and this adds emailing overhead and 12-24 hour turnaround, etc. I very much prefer to hang onto the patch and get it fixed up. This means that I usually have to do the fixing-up.
Quoted 6 lines
Quoted 4 lines
Perhaps dropping patches with obvious faults with some feedback to submitter may reduce your workload ;) And is slowing down the merge a little in these cases such a bad thing if it improves patch quality over time?
True dat. That's what I would do. :)
As I say - I prefer to keep moving in the forward direction. So if a patch needs coding-style cleanups, warning fixes, bugfixes, etc it's usually quicker to just fix the thing immediately rather than send it back, wait and then redo everything. The submitter sees the fixes and hence will Never Do That Again (right?)
None of this is a particular burden for me - it'd average an hour a day, tops. My main reason for the big whine is that this defect rate indicates that people just aren't being sufficiently careful in their work. If so many silly trivial things are slipping through, then what does this tell us about the big things, ie: runtime bugs?
Quoted 1 line
But I seem to need more sleep than Andrew does.
There's plenty of time for that in the grave.
Hi Andrew,
Quoted 2 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
[snip]
Quoted 1 line
+gregkh-devfs-ndevfs.patch
"You don't really want to run this. But if you did, here's a simple hack showing how easy it is to do it.
Note, this patch will NOT be merged into mainline, so don't get your panties into a bind..."
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/ndevfs.patch
Please drop this patch.
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
Quoted 8 lines · Michal Piotrowski
Hi Andrew,
Quoted 2 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
[snip]
Quoted 1 line
+gregkh-devfs-ndevfs.patch
Quoted 8 lines
"You don't really want to run this. But if you did, here's a simple hack showing how easy it is to do it.
Note, this patch will NOT be merged into mainline, so don't get your panties into a bind..."
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/ndevfs.patchPlease drop this patch.
Here is oops:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/oops1.jpg
Here is config:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/mm-config
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
Quoted 12 lines · Michal Piotrowski
Quoted 11 lines · Michal Piotrowski
Hi Andrew,
Quoted 2 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
[snip]
Quoted 1 line
+gregkh-devfs-ndevfs.patch
"You don't really want to run this. But if you did, here's a simple hack showing how easy it is to do it.
Quoted 8 lines
Quoted 5 lines
Note, this patch will NOT be merged into mainline, so don't get your panties into a bind..."
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/ndevfs.patchPlease drop this patch.
Here is oops:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/oops1.jpg
Ah, I guess it is causing you problems :)
Quoted 2 lines
Here is config:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/mm-config
If you set CONFIG_NDEV_FS=n does the oops go away?
thanks,
greg k-h
Hi Greg,
On 27/04/06, Greg KH <[email protected]> wrote:
[snip]
Quoted 7 lines
Ah, I guess it is causing you problems :)
Quoted 2 lines
Here is config:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/mm-configIf you set
CONFIG_NDEV_FS=ndoes the oops go away?
Yes.
Quoted 5 lines
thanks,
greg k-h
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
Quoted 5 lines · Michal Piotrowski
Hi Greg,
On 27/04/06, Greg KH <[email protected]> wrote:
[snip]Quoted 1 line
Quoted 8 lines
Quoted 6 lines
Ah, I guess it is causing you problems :)
Quoted 2 lines
Here is config:
http://www.stardust.webpages.pl/files/mm/2.6.17-rc2-mm1/mm-configIf you set
CONFIG_NDEV_FS=ndoes the oops go away?Yes.
Ok, I've spent a bit of time trying to reproduce this and I can't. So I'm just going to drop it from the patch set, because as you point out, it's never going to go to mainline anyway, it was just a fun hack.
Sorry for the noise,
greg k-h
On 27/04/06, Greg KH <[email protected]> wrote:
[snip]
Quoted 8 lines
Ok, I've spent a bit of time trying to reproduce this and I can't. So I'm just going to drop it from the patch set, because as you point out, it's never going to go to mainline anyway, it was just a fun hack.
Sorry for the noise,
greg k-h
Thanks.
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
Quoted 8 lines · Michal Piotrowski
Hi Andrew,
Quoted 2 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
[snip]
Quoted 1 line
+gregkh-devfs-ndevfs.patch
Quoted 8 lines
"You don't really want to run this. But if you did, here's a simple hack showing how easy it is to do it.
Note, this patch will NOT be merged into mainline, so don't get your panties into a bind..."
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/ndevfs.patchPlease drop this patch.
Why drop it? Is it causing you any problems?
thanks,
greg k-h
Quoted 12 lines · Greg KH
Quoted 11 lines · Michal Piotrowski
Hi Andrew,
Quoted 2 lines · Andrew Morton
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
[snip]
Quoted 1 line
+gregkh-devfs-ndevfs.patch
"You don't really want to run this. But if you did, here's a simple hack showing how easy it is to do it.
Quoted 7 lines
Quoted 5 lines
Note, this patch will NOT be merged into mainline, so don't get your panties into a bind..."
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-05-devfs/ndevfs.patchPlease drop this patch.
Why drop it?
As long as it doesn't go to mainline we shouldn't care about it in -mm.
Quoted 5 lines
thanks,
greg k-h
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
2.6.17-rc2-mm1: ACPI_DOCK=n, HOTPLUG_PCI_ACPI=y compile error
In reply to Andrew MortonAlthough not mentioned in the changelog, acpi-dock-driver.patch was updated in 2.6.17-rc2-mm1.
The changes cause the following compile error with CONFIG_ACPI_DOCK=n, CONFIG_HOTPLUG_PCI_ACPI=y:
<-- snip -->
...
LD .tmp_vmlinux1drivers/built-in.o: In function is_pci_dock_device':acpiphp_glue.c:(.text+0x1a08a): undefined reference to is_dock_device' drivers/built-in.o: In function `cleanup_bridge':
acpiphp_glue.c:(.text+0x1a127): undefined reference to is_dock_device' :acpiphp_glue.c:(.text+0x1a133): undefined reference to unregister_hotplug_dock_device' :acpiphp_glue.c:(.text+0x1a13b): undefined reference to unregister_dock_notifier' drivers/built-in.o: In function register_slot':
acpiphp_glue.c:(.text+0x1b545): undefined reference to is_dock_device' :acpiphp_glue.c:(.text+0x1b742): undefined reference to is_dock_device' :acpiphp_glue.c:(.text+0x1b759): undefined reference to register_hotplug_dock_device' :acpiphp_glue.c:(.text+0x1b786): undefined reference to register_dock_notifier'
make: *** [.tmp_vmlinux1] Error 1
<-- snip -->
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedHi Andrew,
Le Thu, 27 Apr 2006 01:41:41 -0700, Andrew Morton a écrit :
Quoted 2 lines
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
64 bit resources core changes in ioport.h break pnp sysfs interface.
A patch like this is needed.
Matthieu
drivers/pnp/interface.c +4 -4
@@ -264,7 +264,7 @@if (pnp_port_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_port_start (dev, i),pnp_port_end (dev, i)); }
@@ -275,7 +275,7 @@if (pnp_mem_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_mem_start (dev, i),pnp_mem_end (dev, i)); }
@@ -286,7 +286,7 @@if (pnp_irq_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," %ld\n" , +pnp_printf (buffer," %lld\n" ,pnp_irq (dev, i)); } }
@@ -296,7 +296,7 @@if (pnp_dma_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," %ld\n" , +pnp_printf (buffer," %lld\n" ,pnp_dma (dev, i)); } }
Quoted 18 lines · Matthieu CASTET
Hi Andrew,
Le Thu, 27 Apr 2006 01:41:41 -0700, Andrew Morton a écrit :
Quoted 2 lines
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
64 bit resources core changes in
ioport.hbreak pnp sysfs interface.A patch like this is needed.
Matthieu
Signed-off-by Matthieu CASTET <[email protected]>
drivers/pnp/interface.c line 269
Quoted 7 lines
drivers/pnp/interface.c +1
-1@@ -264,7 +264,7 @@if (pnp_port_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_port_start (dev, i),pnp_port_end (dev, i));
I think it would break on ppc64 as u64 is unsigned long. It should be explicitly typecasted to unsigned long long. Same is true for all the instances.
(unsigned long long) pnp_port_start(dev, i)
-vivek
Quoted 35 lines
drivers/pnp/interface.c +3
-4}@@ -275,7 +275,7 @@if (pnp_mem_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_mem_start (dev, i),pnp_mem_end (dev, i)); }@@ -286,7 +286,7 @@if (pnp_irq_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," %ld\n" , +pnp_printf (buffer," %lld\n" ,pnp_irq (dev, i)); } }@@ -296,7 +296,7 @@if (pnp_dma_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," %ld\n" , +pnp_printf (buffer," %lld\n" ,pnp_dma (dev, i)); } } -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 16 lines · Vivek Goyal
Quoted 15 lines · Matthieu CASTET
Hi Andrew,
Le Thu, 27 Apr 2006 01:41:41 -0700, Andrew Morton a ?crit?:
Quoted 2 lines
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
64 bit resources core changes in
ioport.hbreak pnp sysfs interface.A patch like this is needed.
Matthieu
Signed-off-by Matthieu CASTET <[email protected]>
Quoted 14 lines
drivers/pnp/interface.c line 269
Quoted 10 lines
drivers/pnp/interface.c +1
-1@@ -264,7 +264,7 @@if (pnp_port_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_port_start (dev, i),pnp_port_end (dev, i));I think it would break on ppc64 as u64 is unsigned long. It should be explicitly typecasted to unsigned long long. Same is true for all the instances.
Does ppc64 use the PnP code?
thanks,
greg k-h
Quoted 32 lines · Greg KH
Quoted 16 lines · Vivek Goyal
Quoted 15 lines · Matthieu CASTET
Hi Andrew,
Le Thu, 27 Apr 2006 01:41:41 -0700, Andrew Morton a ?crit?:
Quoted 2 lines
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc2/2.6.17-rc2-mm1/
64 bit resources core changes in
ioport.hbreak pnp sysfs interface.A patch like this is needed.
Matthieu
Signed-off-by Matthieu CASTET <[email protected]>Quoted 14 lines
drivers/pnp/interface.c line 269
Quoted 10 lines
drivers/pnp/interface.c +1
-1@@ -264,7 +264,7 @@if (pnp_port_flags (dev, i) &IORESOURCE_DISABLED )pnp_printf (buffer," disabled\n" );else -pnp_printf (buffer," 0x%lx-0x%lx\n" , +pnp_printf (buffer," 0x%llx-0x%llx\n" ,pnp_port_start (dev, i),pnp_port_end (dev, i));I think it would break on ppc64 as u64 is unsigned long. It should be explicitly typecasted to unsigned long long. Same is true for all the instances.
Quoted 2 lines
Does ppc64 use the PnP code?
I had assumed it. Just now did a allmodconfig on ppc64 and came to know there is no such option as CONFIG_PNP. Sorry for the noise.
Thanks
Vivek
Quoted 6 lines · Vivek Goyal
On Thu, Apr 27, 2006 at 05:47:25PM +0200, Matthieu CASTET wrote:
I think it would break on ppc64 as u64 is unsigned long. It should be explicitly typecasted to unsigned long long. Same is true for all the instances.
On 64 bits platform, unsigned long isn't the same as unsigned long long ?
Do you mean there will be a warning ?
But pnp_printf is a variadic fonction (with no attribute format printf), so gcc can't check the arguments type.
Matthieu
PS : according to arch/ppc/Kconfig, ISA (so PNP that depend on ISA) could be enable on PPC_PREP or PPC_CHRP [1]. But there are others 64 bits architecture like ia64 that have ACPI and use PNP.
[1]
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other
stuff
inside your box. If you have an Apple machine, say N here;
if you
have an IBM RS/6000 or pSeries machine or a PReP machine, say
Y. If
you have an embedded board, consult your board documentation.
Quoted 10 lines · matthieu castet
Quoted 6 lines · Vivek Goyal
On Thu, Apr 27, 2006 at 05:47:25PM +0200, Matthieu CASTET wrote:
I think it would break on ppc64 as u64 is unsigned long. It should be explicitly typecasted to unsigned long long. Same is true for all the instances.
On 64 bits platform, unsigned long isn't the same as unsigned long long ?
Do you mean there will be a warning ?
Yes.
Quoted 3 lines
But
pnp_printfis a variadic fonction (with no attribute format printf), so gcc can't check the arguments type.
You are right. I did not notice that for pnp_printf(), attribute format printf is not specified. So gcc won't do the type checking on format string arguments.
( __attribute__ ((format (printf, 2, 3)));
Thanks
Vivek
PATCH 1/1 fix VIDEO_DEV=m, VIDEO_V4L1_COMPAT=y
In reply to Andrew MortonReview
Quoted 8 lines · Andrew Morton
...
Changes since 2.6.17-rc1-mm3:
...(quoted diff) +2
-0+git-dvb-Kconfig-fix.patch +git-dvb-Kconfig-fix-2.patch git-dvb.patch is a bit sick.
These patches are completely sick.
Not every compatibility issue is about 32<->64 Bit...
Below is the patch I sent you after I discovered the bug in 2.6.17-rc1-mm3. Is there any reason why you didn't merge my patch?
cu
Adrian
<-- snip -->
If CONFIG_VIDEO_DEV=m and CONFIG_VIDEO_V4L1_COMPAT=y, v4l1-compat should be built as a module (currently, it isn't built at all leading to problems with modules using it).
---
This patch was already sent on:
- 18 Apr 2006
drivers/media/video/Makefile renamed from drivers/media/video/Makefile.old +4 -1
@@ -11,7 +11,10 @@ msp3400-objs := msp3400-driver.o msp3400-kthreads.o obj-$(CONFIG_VIDEO_DEV) += videodev.o v4l2-common.o compat_ioctl32.o -obj-$(CONFIG_VIDEO_V4L1_COMPAT) += v4l1-compat.o + +ifeq ($(CONFIG_VIDEO_V4L1_COMPAT),y) + obj-$(CONFIG_VIDEO_DEV) += v4l1-compat.o +endif obj-$(CONFIG_VIDEO_BT848) += bt8xx/ obj-$(CONFIG_VIDEO_BT848) += tvaudio.o tda7432.o tda9875.o ir-kbd-i2c.o
Re: [-mm patch] fix VIDEO_DEV=m, VIDEO_V4L1_COMPAT=y
Quoted 3 lines · Adrian Bunk
Below is the patch I sent you after I discovered the bug
in 2.6.17-rc1-mm3. Is there any reason why you didn't merge my patch?
I saw you'd cc'ed the maintainer on it.
Re: [-mm patch] fix VIDEO_DEV=m, VIDEO_V4L1_COMPAT=y
Adrian,
Em Qui, 2006-04-27 às 11:17 -0700, Andrew Morton escreveu:
Quoted 6 lines
Quoted 3 lines · Adrian Bunk
Below is the patch I sent you after I discovered the bug
in 2.6.17-rc1-mm3. Is there any reason why you didn't merge my patch?I saw you'd cc'ed the maintainer on it.
I didn't received the patch you sent before. I'm applying it to my tree.
I will update today also devel, so that akpm may retrieve this one (and also a bunch of newer patches...). Let me first test the hole patchset with allyesconfig/allmodconfig to avoid other troubles.
Cheers,
Mauro.
PATCH 1/1 fs/nfs/inode.c: make nfs_follow_referral()
In reply to Andrew MortonQuoted 7 lines · Andrew Morton
...
Changes since 2.6.17-rc1-mm3:
...
git-nfs.patch
...
git trees
...
This patch makes the needlessly global nfs_follow_referral() static.
fs/nfs/inode.c renamed from fs/nfs/inode.c.old +3 -2
@@ -2677,8 +2677,9 @@* @addr - host addr of new server * */ -struct vfsmount *nfs_follow_referral (const struct vfsmount *mnt_parent, -const struct dentry *dentry,struct nfs4_fs_locations *locations) +static struct vfsmount *nfs_follow_referral (const struct vfsmount *mnt_parent, +const struct dentry *dentry, +struct nfs4_fs_locations *locations) {struct vfsmount *mnt =ERR_PTR (-ENOENT );struct nfs_clone_mount mountdata = {
PATCH 1/1 mm/vmscan.c: make shrink_all_zones() static
In reply to Andrew MortonQuoted 7 lines · Andrew Morton
...
Changes since 2.6.17-rc1-mm3:
...
+swsusp-rework-memory-shrinker-rev-2.patchMemory management updates
...
This patch makes the needlessly global shrink_all_zones() static.
mm/vmscan.c renamed from mm/vmscan.c.old +2 -2
@@ -1291,8 +1291,8 @@* * For pass > 3 we also try to shrink the LRU lists that contain a few pages */ -unsigned long shrink_all_zones (unsigned long nr_pages,int pass,int prio, -struct scan_control *sc) +static unsigned long shrink_all_zones (unsigned long nr_pages,int pass, +int prio,struct scan_control *sc) {struct zone *zone;unsigned long nr_to_scan, ret =0 ;
Re: [-mm patch] mm/vmscan.c: make shrink_all_zones() static
Quoted 11 lines · Adrian Bunk
Quoted 7 lines · Andrew Morton
...
Changes since 2.6.17-rc1-mm3:
...
+swsusp-rework-memory-shrinker-rev-2.patchMemory management updates
...This patch makes the needlessly global
shrink_all_zones()static.
Thanks for fixing.
Greetings,
Rafael
Quoted 18 lines
Signed-off-by Adrian Bunk <[email protected]>mm/vmscan.c renamed from mm/vmscan.c.old +2
-2@@ -1291,8 +1291,8 @@* * For pass > 3 we also try to shrink the LRU lists that contain a few pages */ -unsigned long shrink_all_zones (unsigned long nr_pages,int pass,int prio, -struct scan_control *sc) +static unsigned long shrink_all_zones (unsigned long nr_pages,int pass, +int prio,struct scan_control *sc) {struct zone *zone;unsigned long nr_to_scan, ret =0 ;
PATCH 1/1 fs/gfs2/: possible cleanups
In reply to Andrew MortonQuoted 7 lines · Andrew Morton
...
Changes since 2.6.17-rc1-mm3:
...
git-gfs2.patch
...
git trees
...
This patch contains the following possible cleanups:
- make needlessly global code static
- #if 0 unused functions
- remove the following global function that was both unused and unimplemented:
- super.c: gfs2_do_upgrade()
---
BTW: Please add a MAINTAINERS entry.
fs/gfs2/bmap.c | 3 +- fs/gfs2/bmap.h | 2 - fs/gfs2/dir.c | 8 +++--- fs/gfs2/eaops.c | 2 - fs/gfs2/eaops.h | 1 fs/gfs2/eattr.c | 3 ++ fs/gfs2/eattr.h | 2 - fs/gfs2/glock.c | 25 +++++++++++++-------- fs/gfs2/glock.h | 12 ---------- fs/gfs2/lm.c | 2 + fs/gfs2/lm.h | 1 fs/gfs2/locking/dlm/lock.c | 10 ++++---- fs/gfs2/locking/dlm/lock_dlm.h | 4 --- fs/gfs2/locking/dlm/main.c | 4 +-- fs/gfs2/locking/nolock/main.c | 8 +++--- fs/gfs2/lvb.c | 2 + fs/gfs2/lvb.h | 1 fs/gfs2/ondisk.c | 38 +++++++++++++++++++++++++++++---- fs/gfs2/quota.c | 2 + fs/gfs2/quota.h | 2 - fs/gfs2/super.c | 8 +----- fs/gfs2/super.h | 2 - include/linux/gfs2_ondisk.h | 14 ------------ 23 files changed, 79 insertions(+), 77 deletions(-)
fs/gfs2/bmap.h renamed from fs/gfs2/bmap.h.old +0 -2
@@ -13,8 +13,6 @@typedef int (*gfs2_unstuffer_t ) (struct gfs2_inode * ip,struct buffer_head * dibh,uint64_t block,void *private); -int gfs2_unstuffer_sync (struct gfs2_inode *ip,struct buffer_head *dibh, -uint64_t block,void *private);int gfs2_unstuff_dinode (struct gfs2_inode *ip,gfs2_unstuffer_t unstuffer,void *private);
fs/gfs2/bmap.c renamed from fs/gfs2/bmap.c.old +2 -1
@@ -59,7 +59,7 @@ struct strip_mine {* * Returns: errno */ - +#if 0 int gfs2_unstuffer_sync (struct gfs2_inode *ip,struct buffer_head *dibh,uint64_t block,void *private) {
@@ -77,6 +77,7 @@ int gfs2_unstuffer_sync(struct gfs2_inod return error; } +#endif /* 0 */ /** * gfs2_unstuff_dinode - Unstuff a dinode when the data has grown too big
fs/gfs2/dir.c renamed from fs/gfs2/dir.c.old +4 -4
@@ -669,10 +669,10 @@ static void dirent_del(struct gfs2_inode* Takes a dent from which to grab space as an argument. Returns the * newly created dent. */ -struct gfs2_dirent *gfs2_init_dirent (struct inode *inode, -struct gfs2_dirent *dent, -const struct qstr *name, -struct buffer_head *bh) +static struct gfs2_dirent *gfs2_init_dirent (struct inode *inode, +struct gfs2_dirent *dent, +const struct qstr *name, +struct buffer_head *bh) {struct gfs2_inode *ip = inode->u.generic_ip;struct gfs2_dirent *ndent;
fs/gfs2/eaops.h renamed from fs/gfs2/eaops.h.old +0 -1
@@ -21,7 +21,6 @@ struct gfs2_eattr_operations {unsigned int gfs2_ea_name2type (const char *name,char **truncated_name); -extern struct gfs2_eattr_operations gfs2_user_eaops;extern struct gfs2_eattr_operations gfs2_system_eaops;extern struct gfs2_eattr_operations *gfs2_ea_ops[];
fs/gfs2/eaops.c renamed from fs/gfs2/eaops.c.old +1 -1
@@ -167,7 +167,7 @@ static int system_eo_remove(struct gfs2_return gfs2_ea_remove_i (ip, er); } -struct gfs2_eattr_operations gfs2_user_eaops = { +static struct gfs2_eattr_operations gfs2_user_eaops = { .eo_get = user_eo_get, .eo_set = user_eo_set, .eo_remove = user_eo_remove,
fs/gfs2/eattr.h renamed from fs/gfs2/eattr.h.old +0 -2
@@ -61,8 +61,6 @@ struct gfs2_ea_location {struct gfs2_ea_header *el_prev; }; -int gfs2_ea_repack (struct gfs2_inode *ip); -int gfs2_ea_get_i (struct gfs2_inode *ip,struct gfs2_ea_request *er);int gfs2_ea_set_i (struct gfs2_inode *ip,struct gfs2_ea_request *er);int gfs2_ea_remove_i (struct gfs2_inode *ip,struct gfs2_ea_request *er);
fs/gfs2/eattr.c renamed from fs/gfs2/eattr.c.old +3 -0
@@ -358,6 +358,7 @@ static int ea_remove_unstuffed(struct gfreturn error; } +#if 0 static int gfs2_ea_repack_i (struct gfs2_inode *ip) {
@@ -382,6 +383,8 @@ int gfs2_ea_repack(struct gfs2_inode *ipreturn error; } +#endif /* 0 */ +struct ea_list {struct gfs2_ea_request *ei_er;unsigned int ei_size;
fs/gfs2/glock.h renamed from fs/gfs2/glock.h.old +0 -12
@@ -73,8 +73,6 @@ static inline int gfs2_glock_is_blockingreturn ret; } -struct gfs2_glock *gfs2_glock_find (struct gfs2_sbd *sdp, -struct lm_lockname *name);int gfs2_glock_get (struct gfs2_sbd *sdp,uint64_t number,struct gfs2_glock_operations *glops,int create,struct gfs2_glock **glp);
@@ -85,15 +83,11 @@ void gfs2_holder_init(struct gfs2_glockvoid gfs2_holder_reinit (unsigned int state,unsigned flags,struct gfs2_holder *gh);void gfs2_holder_uninit (struct gfs2_holder *gh); -struct gfs2_holder *gfs2_holder_get (struct gfs2_glock *gl,unsigned int state, -int flags,gfp_t gfp_flags); -void gfs2_holder_put (struct gfs2_holder *gh);void gfs2_glock_xmote_th (struct gfs2_glock *gl,unsigned int state,int flags);void gfs2_glock_drop_th (struct gfs2_glock *gl);void gfs2_glmutex_lock (struct gfs2_glock *gl); -int gfs2_glmutex_trylock (struct gfs2_glock *gl);void gfs2_glmutex_unlock (struct gfs2_glock *gl);int gfs2_glock_nq (struct gfs2_holder *gh);
@@ -101,9 +95,6 @@ int gfs2_glock_poll(struct gfs2_holder *int gfs2_glock_wait (struct gfs2_holder *gh);void gfs2_glock_dq (struct gfs2_holder *gh); -void gfs2_glock_prefetch (struct gfs2_glock *gl,unsigned int state,int flags); -void gfs2_glock_force_drop (struct gfs2_glock *gl); -int gfs2_glock_be_greedy (struct gfs2_glock *gl,unsigned int time);void gfs2_glock_dq_uninit (struct gfs2_holder *gh);
@@ -148,7 +139,6 @@ static inline int gfs2_glock_nq_init(strint gfs2_lvb_hold (struct gfs2_glock *gl);void gfs2_lvb_unhold (struct gfs2_glock *gl); -void gfs2_lvb_sync (struct gfs2_glock *gl);void gfs2_glock_cb (lm_fsdata_t *fsdata,unsigned int type,void *data);
@@ -161,6 +151,4 @@ void gfs2_reclaim_glock(struct gfs2_sbdvoid gfs2_scand_internal (struct gfs2_sbd *sdp);void gfs2_gl_hash_clear (struct gfs2_sbd *sdp,int wait); -int gfs2_dump_lockstate (struct gfs2_sbd *sdp); -#endif /* __GLOCK_DOT_H__ */
fs/gfs2/glock.c renamed from fs/gfs2/glock.c.old +16 -9
@@ -47,6 +47,8 @@ struct greedy {typedef void (*glock_examiner ) (struct gfs2_glock * gl); +static int gfs2_dump_lockstate (struct gfs2_sbd *sdp); +/** * relaxed_state_ok - is a requested lock compatible with the current lock mode? * @actual: the current state of the lock
@@ -228,8 +230,8 @@ static struct gfs2_glock *search_bucket(* Returns: NULL, or the struct gfs2_glock with the requested number */ -struct gfs2_glock *gfs2_glock_find (struct gfs2_sbd *sdp, -struct lm_lockname *name) +static struct gfs2_glock *gfs2_glock_find (struct gfs2_sbd *sdp, +struct lm_lockname *name) {struct gfs2_gl_hash_bucket *bucket = &sdp->sd_gl_hash[gl_hash (name)];struct gfs2_glock *gl;
@@ -421,8 +423,9 @@ void gfs2_holder_uninit(struct gfs2_hold* Returns: the holder structure, NULL on ENOMEM */ -struct gfs2_holder *gfs2_holder_get (struct gfs2_glock *gl,unsigned int state, -int flags,gfp_t gfp_flags) +static struct gfs2_holder *gfs2_holder_get (struct gfs2_glock *gl, +unsigned int state, +int flags,gfp_t gfp_flags) {struct gfs2_holder *gh;
@@ -442,7 +445,7 @@ struct gfs2_holder *gfs2_holder_get(stru* */ -void gfs2_holder_put (struct gfs2_holder *gh) +static void gfs2_holder_put (struct gfs2_holder *gh) {gfs2_holder_uninit (gh);kfree (gh);
@@ -674,7 +677,7 @@ void gfs2_glmutex_lock(struct gfs2_glock* Returns: 1 if the glock is acquired */ -int gfs2_glmutex_trylock (struct gfs2_glock *gl) +static int gfs2_glmutex_trylock (struct gfs2_glock *gl) {int acquired =1 ;
@@ -1301,7 +1304,8 @@ void gfs2_glock_dq(struct gfs2_holder *g* */ -void gfs2_glock_prefetch (struct gfs2_glock *gl,unsigned int state,int flags) +static void gfs2_glock_prefetch (struct gfs2_glock *gl,unsigned int state, +int flags) {struct gfs2_glock_operations *glops = gl->gl_ops;
@@ -1329,7 +1333,7 @@ void gfs2_glock_prefetch(struct gfs2_glo* @gl: the glock * */ - +#if 0 void gfs2_glock_force_drop (struct gfs2_glock *gl) {struct gfs2_holder gh;
@@ -1345,6 +1349,7 @@ void gfs2_glock_force_drop(struct gfs2_gwait_for_completion (&gh.gh_wait); gfs2_holder_uninit(&gh); } +#endif /* 0 */ static void greedy_work (void *data) {
@@ -1697,6 +1702,7 @@ void gfs2_lvb_unhold(struct gfs2_glock *gfs2_glock_put (gl); } +#if 0 void gfs2_lvb_sync (struct gfs2_glock *gl) {gfs2_glmutex_lock (gl);
@@ -1707,6 +1713,7 @@ void gfs2_lvb_sync(struct gfs2_glock *gl gfs2_glmutex_unlock(gl); } +#endif /* 0 */ static void blocking_cb (struct gfs2_sbd *sdp,struct lm_lockname *name,unsigned int state)
@@ -2308,7 +2315,7 @@ static int dump_glock(struct gfs2_glock* */ -int gfs2_dump_lockstate (struct gfs2_sbd *sdp) +static int gfs2_dump_lockstate (struct gfs2_sbd *sdp) {struct gfs2_gl_hash_bucket *bucket;struct gfs2_glock *gl;
fs/gfs2/locking/dlm/lock_dlm.h renamed from fs/gfs2/locking/dlm/lock_dlm.h.old +0 -4
@@ -162,12 +162,8 @@ int16_t gdlm_make_lmstate(int16_t);void gdlm_queue_delayed (struct gdlm_lock *);void gdlm_submit_delayed (struct gdlm_ls *);int gdlm_release_all_locks (struct gdlm_ls *); -int gdlm_create_lp (struct gdlm_ls *,struct lm_lockname *,struct gdlm_lock **);void gdlm_delete_lp (struct gdlm_lock *); -int gdlm_add_lvb (struct gdlm_lock *); -void gdlm_del_lvb (struct gdlm_lock *);unsigned int gdlm_do_lock (struct gdlm_lock *); -unsigned int gdlm_do_unlock (struct gdlm_lock *);int gdlm_get_lock (lm_lockspace_t *,struct lm_lockname *,lm_lock_t **);void gdlm_put_lock (lm_lock_t *);
fs/gfs2/locking/dlm/lock.c renamed from fs/gfs2/locking/dlm/lock.c.old +5 -5
@@ -158,8 +158,8 @@ static inline void make_strname(struct l str->namelen =GDLM_STRNAME_BYTES ; } -int gdlm_create_lp (struct gdlm_ls *ls,struct lm_lockname *name, -struct gdlm_lock **lpp) +static int gdlm_create_lp (struct gdlm_ls *ls,struct lm_lockname *name, +struct gdlm_lock **lpp) {struct gdlm_lock *lp;
@@ -276,7 +276,7 @@ unsigned int gdlm_do_lock(struct gdlm_loreturn LM_OUT_ASYNC ; } -unsigned int gdlm_do_unlock (struct gdlm_lock *lp) +static unsigned int gdlm_do_unlock (struct gdlm_lock *lp) {struct gdlm_ls *ls = lp->ls;unsigned int lkf =0 ;
@@ -378,7 +378,7 @@ void gdlm_cancel(lm_lock_t *lock)clear_bit (LFL_DLM_CANCEL , &lp->flags); } -int gdlm_add_lvb (struct gdlm_lock *lp) +static int gdlm_add_lvb (struct gdlm_lock *lp) {char *lvb;
@@ -391,7 +391,7 @@ int gdlm_add_lvb(struct gdlm_lock *lp)return 0 ; } -void gdlm_del_lvb (struct gdlm_lock *lp) +static void gdlm_del_lvb (struct gdlm_lock *lp) {kfree (lp->lvb); lp->lvb =NULL ;
fs/gfs2/locking/dlm/main.c renamed from fs/gfs2/locking/dlm/main.c.old +2 -2
@@ -16,7 +16,7 @@ extern int gdlm_drop_period;extern struct lm_lockops gdlm_ops; -int __init init_lock_dlm (void ) +static int __init init_lock_dlm (void ) {int error;
@@ -48,7 +48,7 @@ int __init init_lock_dlm(void)return 0 ; } -void __exit exit_lock_dlm(void) +static void __exit exit_lock_dlm(void) {gdlm_plock_exit ();gdlm_sysfs_exit ();
fs/gfs2/locking/nolock/main.c renamed from fs/gfs2/locking/nolock/main.c.old +4 -4
@@ -21,7 +21,7 @@ struct nolock_lockspace {unsigned int nl_lvb_size; }; -struct lm_lockops nolock_ops; +static struct lm_lockops nolock_ops; static int nolock_mount(char *table_name, char *host_data, lm_callback_t cb, lm_fsdata_t *fsdata,
@@ -208,7 +208,7 @@ static void nolock_recovery_done(lm_lock { } -struct lm_lockops nolock_ops = { +static struct lm_lockops nolock_ops = { .lm_proto_name ="lock_nolock" , .lm_mount = nolock_mount, .lm_others_may_mount = nolock_others_may_mount,
@@ -229,7 +229,7 @@ struct lm_lockops nolock_ops = { .lm_owner = THIS_MODULE, }; -int __init init_nolock (void ) +static int __init init_nolock (void ) {int error;
@@ -245,7 +245,7 @@ int __init init_nolock(void)return 0 ; } -void __exit exit_nolock(void) +static void __exit exit_nolock(void) {gfs_unregister_lockproto (&nolock_ops); }
fs/gfs2/lvb.h renamed from fs/gfs2/lvb.h.old +0 -1
@@ -14,7 +14,6 @@void gfs2_quota_lvb_in (struct gfs2_quota_lvb *qb,char *lvb);void gfs2_quota_lvb_out (struct gfs2_quota_lvb *qb,char *lvb); -void gfs2_quota_lvb_print (struct gfs2_quota_lvb *qb);#endif /* __LVB_DOT_H__ */
fs/gfs2/lvb.c renamed from fs/gfs2/lvb.c.old +2 -0
@@ -43,6 +43,7 @@ void gfs2_quota_lvb_out(struct gfs2_quot str->qb_value =cpu_to_be64 (qb->qb_value); } +#if 0 void gfs2_quota_lvb_print (struct gfs2_quota_lvb *qb) {pv (qb, qb_magic,"%u" );
@@ -50,4 +51,5 @@ void gfs2_quota_lvb_print(struct gfs2_qupv (qb, qb_warn,"%llu" ); pv(qb, qb_value, "%lld"); } +#endif /* 0 */
include/linux/gfs2_ondisk.h renamed from include/linux/gfs2_ondisk.h.old +0 -14
@@ -450,22 +450,8 @@ extern void gfs2_quota_change_in(struct/* Printing functions */ -extern void gfs2_inum_print (struct gfs2_inum *no); -extern void gfs2_meta_header_print (struct gfs2_meta_header *mh); -extern void gfs2_sb_print (struct gfs2_sb *sb);extern void gfs2_rindex_print (struct gfs2_rindex *ri); -extern void gfs2_rgrp_print (struct gfs2_rgrp *rg); -extern void gfs2_quota_print (struct gfs2_quota *qu);extern void gfs2_dinode_print (struct gfs2_dinode *di); -extern void gfs2_dirent_print (struct gfs2_dirent *de,char *name); -extern void gfs2_leaf_print (struct gfs2_leaf *lf); -extern void gfs2_ea_header_print (struct gfs2_ea_header *ea,char *name); -extern void gfs2_log_header_print (struct gfs2_log_header *lh); -extern void gfs2_log_descriptor_print (struct gfs2_log_descriptor *ld); -extern void gfs2_inum_range_print (struct gfs2_inum_range *ir); -extern void gfs2_statfs_change_print (struct gfs2_statfs_change *sc); -extern void gfs2_unlinked_tag_print (struct gfs2_unlinked_tag *ut); -extern void gfs2_quota_change_print (struct gfs2_quota_change *qc);#endif /* __KERNEL__ */
fs/gfs2/ondisk.c renamed from fs/gfs2/ondisk.c.old +34 -4
@@ -28,7 +28,7 @@* @count: the number of bytes * */ - +#if 0 static void print_array (char *title,char *buf,int count) {int x;
@@ -42,6 +42,7 @@ static void print_array(char *title, chaif (x %16 ) printk("\n"); } +#endif /* 0 */ /* * gfs2_xxx_in - read in an xxx struct
@@ -72,7 +73,7 @@ void gfs2_inum_out(const struct gfs2_inu str->no_addr =cpu_to_be64 (no->no_addr); } -void gfs2_inum_print (struct gfs2_inum *no) +static void gfs2_inum_print (struct gfs2_inum *no) {pv (no, no_formal_ino,"%llu" );pv (no, no_addr,"%llu" );
@@ -96,7 +97,7 @@ static void gfs2_meta_header_out(struct str->mh_format =cpu_to_be32 (mh->mh_format); } -void gfs2_meta_header_print (struct gfs2_meta_header *mh) +static void gfs2_meta_header_print (struct gfs2_meta_header *mh) {pv (mh, mh_magic,"0x%.8X" );pv (mh, mh_type,"%u" );
@@ -121,6 +122,7 @@ void gfs2_sb_in(struct gfs2_sb *sb, charmemcpy (sb->sb_locktable, str->sb_locktable,GFS2_LOCKNAME_LEN ); } +#if 0 void gfs2_sb_print (struct gfs2_sb *sb) {gfs2_meta_header_print (&sb->sb_header);
@@ -136,6 +138,7 @@ void gfs2_sb_print(struct gfs2_sb *sb)pv (sb, sb_lockproto,"%s" ); pv(sb, sb_locktable, "%s"); } +#endif /* 0 */ void gfs2_rindex_in (struct gfs2_rindex *ri,char *buf) {
@@ -149,6 +152,7 @@ void gfs2_rindex_in(struct gfs2_rindex * } +#if 0 void gfs2_rindex_out (struct gfs2_rindex *ri,char *buf) {struct gfs2_rindex *str = (struct gfs2_rindex *)buf;
@@ -163,6 +167,8 @@ void gfs2_rindex_out(struct gfs2_rindex memset(str->ri_reserved, 0, sizeof(str->ri_reserved)); } +#endif /* 0 */ +void gfs2_rindex_print (struct gfs2_rindex *ri) {pv (ri, ri_addr,"%llu" );
@@ -196,6 +202,7 @@ void gfs2_rgrp_out(struct gfs2_rgrp *rg,memset (&str->rg_reserved,0 ,sizeof (str->rg_reserved)); } +#if 0 void gfs2_rgrp_print (struct gfs2_rgrp *rg) {gfs2_meta_header_print (&rg->rg_header);
@@ -205,6 +212,7 @@ void gfs2_rgrp_print(struct gfs2_rgrp *r pa(rg, rg_reserved, 36); } +#endif /* 0 */ void gfs2_quota_in (struct gfs2_quota *qu,char *buf) {
@@ -215,6 +223,8 @@ void gfs2_quota_in(struct gfs2_quota *qu qu->qu_value =be64_to_cpu (str->qu_value); } +#if 0 +void gfs2_quota_out (struct gfs2_quota *qu,char *buf) {struct gfs2_quota *str = (struct gfs2_quota *)buf;
@@ -231,6 +241,8 @@ void gfs2_quota_print(struct gfs2_quota pv(qu, qu_value, "%lld"); } +#endif /* 0 */ +void gfs2_dinode_in (struct gfs2_dinode *di,char *buf) {struct gfs2_dinode *str = (struct gfs2_dinode *)buf;
@@ -327,6 +339,8 @@ void gfs2_dinode_print(struct gfs2_dinodpv (di, di_eattr,"%llu" ); } +#if 0 +void gfs2_dirent_print (struct gfs2_dirent *de,char *name) {char buf[GFS2_FNAMESIZE +1 ];
@@ -394,6 +408,8 @@ void gfs2_ea_header_print(struct gfs2_ea printk(KERN_INFO " name = %s\n", buf); } +#endif /* 0 */ +void gfs2_log_header_in (struct gfs2_log_header *lh,char *buf) {struct gfs2_log_header *str = (struct gfs2_log_header *)buf;
@@ -406,6 +422,8 @@ void gfs2_log_header_in(struct gfs2_log_ lh->lh_hash =be32_to_cpu (str->lh_hash); } +#if 0 +void gfs2_log_header_print (struct gfs2_log_header *lh) {gfs2_meta_header_print (&lh->lh_header);
@@ -427,6 +445,8 @@ void gfs2_log_descriptor_print(struct gf pa(ld, ld_reserved, 32); } +#endif /* 0 */ +void gfs2_inum_range_in (struct gfs2_inum_range *ir,char *buf) {struct gfs2_inum_range *str = (struct gfs2_inum_range *)buf;
@@ -443,11 +463,13 @@ void gfs2_inum_range_out(struct gfs2_inu str->ir_length =cpu_to_be64 (ir->ir_length); } +#if 0 void gfs2_inum_range_print (struct gfs2_inum_range *ir) {pv (ir, ir_start,"%llu" );pv (ir, ir_length,"%llu" ); } +#endif /* 0 */ void gfs2_statfs_change_in (struct gfs2_statfs_change *sc,char *buf) {
@@ -467,12 +489,14 @@ void gfs2_statfs_change_out(struct gfs2_ str->sc_dinodes =cpu_to_be64 (sc->sc_dinodes); } +#if 0 void gfs2_statfs_change_print (struct gfs2_statfs_change *sc) {pv (sc, sc_total,"%lld" );pv (sc, sc_free,"%lld" );pv (sc, sc_dinodes,"%lld" ); } +#endif /* 0 */ void gfs2_unlinked_tag_in (struct gfs2_unlinked_tag *ut,char *buf) {
@@ -491,12 +515,16 @@ void gfs2_unlinked_tag_out(struct gfs2_u str->__pad =0 ; } +#if 0 +void gfs2_unlinked_tag_print (struct gfs2_unlinked_tag *ut) {gfs2_inum_print (&ut->ut_inum);pv (ut, ut_flags,"%u" ); } +#endif /* 0 */ +void gfs2_quota_change_in (struct gfs2_quota_change *qc,char *buf) {struct gfs2_quota_change *str = (struct gfs2_quota_change *)buf;
@@ -506,6 +534,8 @@ void gfs2_quota_change_in(struct gfs2_qu qc->qc_id =be32_to_cpu (str->qc_id); } +#if 0 +void gfs2_quota_change_print (struct gfs2_quota_change *qc) {pv (qc, qc_change,"%lld" );
@@ -513,5 +543,5 @@ void gfs2_quota_change_print(struct gfs2 pv(qc, qc_id, "%u"); } - +#endif /* 0 */
fs/gfs2/quota.h renamed from fs/gfs2/quota.h.old +0 -2
@@ -24,8 +24,6 @@ void gfs2_quota_change(struct gfs2_inodeint gfs2_quota_sync (struct gfs2_sbd *sdp);int gfs2_quota_refresh (struct gfs2_sbd *sdp,int user,uint32_t id); -int gfs2_quota_read (struct gfs2_sbd *sdp,int user,uint32_t id, -struct gfs2_quota *q);int gfs2_quota_init (struct gfs2_sbd *sdp);void gfs2_quota_scan (struct gfs2_sbd *sdp);
fs/gfs2/quota.c renamed from fs/gfs2/quota.c.old +2 -0
@@ -1086,6 +1086,7 @@ int gfs2_quota_refresh(struct gfs2_sbd *return error; } +#if 0 int gfs2_quota_read (struct gfs2_sbd *sdp,int user,uint32_t id,struct gfs2_quota *q) {
@@ -1121,6 +1122,7 @@ int gfs2_quota_read(struct gfs2_sbd *sdp return error; } +#endif /* 0 */ int gfs2_quota_init (struct gfs2_sbd *sdp) {
fs/gfs2/super.h renamed from fs/gfs2/super.h.old +0 -2
@@ -14,7 +14,6 @@ void gfs2_tune_init(struct gfs2_tune *gtint gfs2_check_sb (struct gfs2_sbd *sdp,struct gfs2_sb *sb,int silent);int gfs2_read_sb (struct gfs2_sbd *sdp,struct gfs2_glock *gl,int silent); -int gfs2_do_upgrade (struct gfs2_sbd *sdp,struct gfs2_glock *gl_sb);static inline unsigned int gfs2_jindex_size (struct gfs2_sbd *sdp) {
@@ -46,7 +45,6 @@ int gfs2_statfs_sync(struct gfs2_sbd *sdint gfs2_statfs_i (struct gfs2_sbd *sdp,struct gfs2_statfs_change *sc);int gfs2_statfs_slow (struct gfs2_sbd *sdp,struct gfs2_statfs_change *sc); -int gfs2_lock_fs_check_clean (struct gfs2_sbd *sdp,struct gfs2_holder *t_gh);int gfs2_freeze_fs (struct gfs2_sbd *sdp);void gfs2_unfreeze_fs (struct gfs2_sbd *sdp);
fs/gfs2/super.c renamed from fs/gfs2/super.c.old +2 -6
@@ -264,11 +264,6 @@ int gfs2_read_sb(struct gfs2_sbd *sdp, sreturn 0 ; } -int gfs2_do_upgrade (struct gfs2_sbd *sdp,struct gfs2_glock *sb_gl) -{ -return 0 ; -} -/** * gfs2_jindex_hold - Grab a lock on the jindex * @sdp: The GFS2 superblock
@@ -837,7 +832,8 @@ struct lfcc {* Returns: errno */ -int gfs2_lock_fs_check_clean (struct gfs2_sbd *sdp,struct gfs2_holder *t_gh) +static int gfs2_lock_fs_check_clean (struct gfs2_sbd *sdp, +struct gfs2_holder *t_gh) {struct gfs2_inode *ip;struct gfs2_holder ji_gh;
fs/gfs2/lm.h renamed from fs/gfs2/lm.h.old +0 -1
@@ -26,7 +26,6 @@ unsigned int gfs2_lm_unlock(struct gfs2_void gfs2_lm_cancel (struct gfs2_sbd *sdp,lm_lock_t *lock);int gfs2_lm_hold_lvb (struct gfs2_sbd *sdp,lm_lock_t *lock,char **lvbp);void gfs2_lm_unhold_lvb (struct gfs2_sbd *sdp,lm_lock_t *lock,char *lvb); -void gfs2_lm_sync_lvb (struct gfs2_sbd *sdp,lm_lock_t *lock,char *lvb);int gfs2_lm_plock_get (struct gfs2_sbd *sdp,struct lm_lockname *name,struct file *file,struct file_lock *fl);
fs/gfs2/lm.c renamed from fs/gfs2/lm.c.old +2 -0
@@ -188,11 +188,13 @@ void gfs2_lm_unhold_lvb(struct gfs2_sbd sdp->sd_lockstruct.ls_ops->lm_unhold_lvb (lock, lvb); } +#if 0 void gfs2_lm_sync_lvb (struct gfs2_sbd *sdp,lm_lock_t *lock,char *lvb) {if (likely (!test_bit (SDF_SHUTDOWN , &sdp->sd_flags))) sdp->sd_lockstruct.ls_ops->lm_sync_lvb (lock, lvb); } +#endif /* 0 */ int gfs2_lm_plock_get (struct gfs2_sbd *sdp,struct lm_lockname *name,struct file *file,struct file_lock *fl)