nfsd changes for 2.6.39
Subsystems (2)
The following nfsd changes are available from the for-2.6.39 branch at:
git://linux-nfs.org/~bfields/linux.git for-2.6.39
This was a quiet release cycle! Kevin Coffman added a new interface allowing userland to query our enctype support, fixing some problems with rpcsec_gss security negotiation; other than that, these are routine bugfixes.
I do have one more set of server rpc patches that I may pass along in a few days depending on some test results.
--b.
J. Bruce Fields (7):
svcrpc: fix rare race on unix_domain creation
nfsd4: minor nfs4state.c reshuffling
nfsd4: fix struct file leak
svcrpc: fix bad argument in unix_domain_find
nfsd: fix compile error
nfsd4: fix comment and remove unused nfsd4_file fields Merge create_session decoding fix into for-2.6.39
Jesper Juhl (2):
NFSD, VFS: Remove dead code in nfsd_rename()
SUNRPC: Remove resource leak in svc_rdma_send_error()
Kevin Coffman (2):
gss:krb5 only include enctype numbers in gm_upcall_enctypes
nfsd: add proc file listing kernel's gss_krb5 enctypes
Mi Jinlong (3):
nfsd41: modify the members value of nfsd4_op_flags
nfs41: make sure nfs server return right ca_maxresponsesize_cached
nfsd: wrong index used in inner loop
Namhyung Kim (1):
locks: use assign_type()
Shan Wei (1):
nfsd: kill unused macro definition
commit 4be34b9d69c97211ff4eb00d79078f3c1593804d
Author: Jesper Juhl <[email protected]> Date: Sat Jan 22 22:40:20 2011 +0100
SUNRPC: Remove resource leak in svc_rdma_send_error()
We leak the memory allocated to 'ctxt' when we return after 'ib_dma_mapping_error()' returns !=0.
commit 5a02ab7c3c4580f94d13c683721039855b67cda6
Author: Mi Jinlong <[email protected]> Date: Fri Mar 11 12:13:55 2011 +0800
nfsd: wrong index used in inner loop
We must not use dummy for index.
After the first index, READ32(dummy) will change dummy!!!!
commit cf507b6f8ebae89c0e7bbd00abc6d8887c9035b1
Merge: 9ae78bc 3ec07aa
Author: J. Bruce Fields <[email protected]>
Date: Thu Mar 17 13:07:20 2011 -0400
Merge create_session decoding fix into for-2.6.39
This needs a further fixup!
commit 9ae78bcc000168251f893b1bf92a848308187695
Author: J. Bruce Fields <[email protected]> Date: Thu Mar 17 12:52:33 2011 -0400
nfsd4: fix comment and remove unused nfsd4_file fields
A couple fields here were left over from a previous version of a patch, and are no longer used.
commit d2b217439fd1d8f7857175f063113f4d1d66306c
Author: Mi Jinlong <[email protected]> Date: Thu Mar 10 17:43:37 2011 +0800
nfs41: make sure nfs server return right ca_maxresponsesize_cached
According to rfc5661,
ca_maxresponsesize_cached:
Like ca_maxresponsesize, but the maximum size of a reply that will be stored in the reply cache (Section 2.10.6.1). For each channel, the server MAY decrease this value, but MUST NOT increase it.
the latest kernel(2.6.38-rc8) may increase the value for ignoring request's ca_maxresponsesize_cached value. We should not ignore it.
commit 0a5e5f122c756d1c1a6ca712eda76ea8664e5fd9
Author: J. Bruce Fields <[email protected]> Date: Mon Mar 14 20:57:44 2011 -0400
nfsd: fix compile error
"fs/built-in.o: In function `supported_enctypes_show':
nfsctl.c:(.text+0x7beb0): undefined reference to gss_mech_get_by_name' nfsctl.c:(.text+0x7bebc): undefined reference to gss_mech_put' "
commit 352b5d13c0684ba8cd103aa20cb74f105334562a
Author: J. Bruce Fields <[email protected]> Date: Wed Mar 9 22:40:30 2011 -0500
svcrpc: fix bad argument in unix_domain_find
"After merging the nfsd tree, today's linux-next build (powerpc ppc64_defconfig) produced this warning:
net/sunrpc/svcauth_unix.c: In function 'unix_domain_find':
net/sunrpc/svcauth_unix.c:58: warning: passing argument 1 of +'svcauth_unix_domain_release' from incompatible pointer type net/sunrpc/svcauth_unix.c:41: note: expected 'struct auth_domain *' but argument
+is of type 'struct unix_domain *'
Introduced by commit 8b3e07ac908d ("svcrpc: fix rare race on unix_domain creation")."
commit 0997b173609b9229ece28941c118a2a9b278796e
Author: J. Bruce Fields <[email protected]> Date: Wed Mar 2 18:01:35 2011 -0500
nfsd4: fix struct file leak
Make sure we properly reference count the struct files that a lock depends on, and release them when the lock stateid is released.
This fixes a major leak of struct files when using locking over nfsv4.
commit 529d7b2a7fa31e9f7d08bc790d232c3cbe64fa24
Author: J. Bruce Fields <[email protected]> Date: Wed Mar 2 23:48:33 2011 -0500
nfsd4: minor nfs4state.c reshuffling
Minor cleanup in preparation for a bugfix--moving some code to avoid forward references, etc. No change in functionality.
commit 8b3e07ac908d005bb791410f594cce8744f6806a
Author: J. Bruce Fields <[email protected]> Date: Mon Mar 7 22:50:47 2011 -0500
svcrpc: fix rare race on unix_domain creation
Note that "new" here is not yet fully initialized; auth_domain_put should be called only on auth_domains that have actually been added to the hash.
Before this fix, two attempts to add the same domain at once could cause the hlist_del in auth_domain_put to fail.
commit 5ece3cafbd88d4da5c734e1810c4a2e6474b57b2
Author: Mi Jinlong <[email protected]> Date: Fri Feb 18 09:08:31 2011 +0800
nfsd41: modify the members value of nfsd4_op_flags
The members of nfsd4_op_flags, (ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS) equals to ALLOWED_AS_FIRST_OP, maybe that's not what we want.
OP_PUTROOTFH with op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS, can't appears as the first operation with out SEQUENCE ops.
This patch modify the wrong value of ALLOWED_WITHOUT_FH etc which was introduced by f9bb94c4.
commit b0b0c0a26e846ae6646af9f59a3d2ea06b49cbc7
Author: Kevin Coffman <[email protected]> Date: Wed Mar 2 19:51:42 2011 -0500
nfsd: add proc file listing kernel's gss_krb5 enctypes
Add a new proc file which lists the encryption types supported by the kernel's gss_krb5 code.
Newer MIT Kerberos libraries support the assertion of acceptor subkeys. This enctype information allows user-land (svcgssd) to request that the Kerberos libraries limit the encryption types that it uses when generating the subkeys.
commit 540c8cb6a576f34a9a0b04467f46bb6e67a1f852
Author: Kevin Coffman <[email protected]> Date: Wed Mar 2 19:51:41 2011 -0500
gss:krb5 only include enctype numbers in gm_upcall_enctypes
Make the value in gm_upcall_enctypes just the enctype values. This allows the values to be used more easily elsewhere.
commit 46d4cef9cf54f2f8b15216e3f6dad69750c69e0c
Author: Jesper Juhl <[email protected]> Date: Sun Mar 6 00:30:35 2011 +0100
NFSD, VFS: Remove dead code in nfsd_rename()
Currently we have the following code in fs/nfsd/vfs.c::nfsd_rename() :
...
host_err = nfsd_break_lease(odentry->d_inode);
if (host_err)
goto out_drop_write;
if (ndentry->d_inode) {
host_err = nfsd_break_lease(ndentry->d_inode);
if (host_err)
goto out_drop_write;
}
if (host_err)
goto out_drop_write;
...
'host_err' is guaranteed to be 0 by the time we test 'ndentry->d_inode'.
If 'host_err' becomes != 0 inside the 'if' statement, then we goto
'out_drop_write'. So, after the 'if' statement there is no way that
'host_err' can be anything but 0, so the test afterwards is just dead
code.
This patch removes the dead code.
Signed-off-by: Jesper Juhl <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>commit 35079582e72efcabf7c70f3d3ee4f96e6f196606
Author: Shan Wei <[email protected]> Date: Fri Jan 14 17:35:59 2011 +0800
nfsd: kill unused macro definition
These macros had never been used for several years. So, remove them.
commit f32cb53219a956b96a4cd1ee7c6b1b8a48d40e9f
Author: Namhyung Kim <[email protected]> Date: Mon Jan 17 15:45:59 2011 +0900
locks: use assign_type()
Quoted 3 lines · J. Bruce Fields
The following nfsd changes are available from the for-2.6.39 branch at:
git://linux-nfs.org/~bfields/linux.git for-2.6.39
diffstat?
Linus
Quoted 6 lines · Linus Torvalds
Quoted 3 lines · J. Bruce Fields
The following nfsd changes are available from the for-2.6.39 branch at:
git://linux-nfs.org/~bfields/linux.git for-2.6.39
diffstat?
The diffstat generated by request-pull looked horribly wrong despite the individual patches looking reasonable; I assumed it was a side effect of the one back-merge and didn't look any closer. Sorry, I probably should have looked closer or asked for help.
Here you go--did I screw something up?
--b.
.gitignore | 1 + Documentation/DocBook/filesystems.tmpl | 5 + Documentation/hwmon/jc42 | 21 +- Documentation/hwmon/k10temp | 8 +- Documentation/kernel-parameters.txt | 24 +- Documentation/networking/Makefile | 2 + Documentation/workqueue.txt | 4 +- MAINTAINERS | 14 +- Makefile | 2 +- arch/arm/Kconfig | 25 + arch/arm/Makefile | 2 +- arch/arm/boot/compressed/.gitignore | 6 +- arch/arm/include/asm/hardware/cache-l2x0.h | 1 + arch/arm/include/asm/hardware/sp810.h | 3 + arch/arm/include/asm/tlb.h | 105 ++- arch/arm/include/asm/tlbflush.h | 7 +- arch/arm/kernel/kprobes-decode.c | 2 +- arch/arm/kernel/pmu.c | 22 +- arch/arm/kernel/setup.c | 4 +- arch/arm/kernel/signal.c | 4 +- arch/arm/kernel/vmlinux.lds.S | 11 + arch/arm/mach-omap2/clkt_dpll.c | 2 +- arch/arm/mach-omap2/mailbox.c | 2 +- arch/arm/mach-omap2/mux.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 8 +- arch/arm/mach-omap2/prcm_mpu44xx.h | 4 +- arch/arm/mach-omap2/smartreflex.c | 4 +- arch/arm/mach-omap2/timer-gp.c | 13 + arch/arm/mach-s5p6442/include/mach/map.h | 69 +- arch/arm/mach-s5p64x0/include/mach/map.h | 83 +- arch/arm/mach-s5pc100/include/mach/map.h | 193 ++--- arch/arm/mach-s5pv210/include/mach/map.h | 168 ++-- arch/arm/mach-s5pv210/mach-aquila.c | 15 +- arch/arm/mach-s5pv210/mach-goni.c | 15 +- arch/arm/mach-s5pv310/include/mach/map.h | 149 ++-- arch/arm/mach-spear3xx/include/mach/spear320.h | 2 +- arch/arm/mach-tegra/include/mach/kbc.h | 1 + arch/arm/mm/cache-l2x0.c | 6 + arch/arm/mm/proc-v7.S | 6 + arch/arm/plat-omap/mailbox.c | 11 +- arch/arm/plat-s5p/dev-uart.c | 12 +- arch/arm/plat-samsung/dev-ts.c | 1 - arch/arm/plat-spear/include/plat/uncompress.h | 4 +- arch/arm/plat-spear/include/plat/vmalloc.h | 2 +- arch/cris/kernel/vmlinux.lds.S | 5 - arch/s390/boot/compressed/misc.c | 5 +- arch/s390/crypto/sha_common.c | 1 + arch/s390/include/asm/atomic.h | 26 +- arch/s390/include/asm/cache.h | 1 + arch/sparc/include/asm/pcr.h | 2 + arch/sparc/kernel/iommu.c | 5 +- arch/sparc/kernel/pcr.c | 2 - arch/sparc/kernel/smp_64.c | 2 + arch/sparc/kernel/una_asm_32.S | 4 +- arch/sparc/lib/bitext.c | 5 +- arch/x86/include/asm/acpi.h | 1 + arch/x86/include/asm/perf_event_p4.h | 1 + arch/x86/include/asm/smpboot_hooks.h | 2 +- arch/x86/kernel/acpi/boot.c | 14 +- arch/x86/kernel/apb_timer.c | 2 +- arch/x86/kernel/cpu/perf_event_p4.c | 11 +- arch/x86/kernel/early-quirks.c | 16 +- arch/x86/kernel/reboot.c | 8 + arch/x86/kvm/svm.c | 2 + block/genhd.c | 2 +- block/ioctl.c | 8 +- drivers/atm/solos-pci.c | 5 +- drivers/block/floppy.c | 2 +- drivers/bluetooth/ath3k.c | 5 + drivers/bluetooth/btusb.c | 12 +- drivers/char/agp/amd64-agp.c | 9 +- drivers/char/agp/intel-agp.h | 1 + drivers/char/agp/intel-gtt.c | 56 +- drivers/char/pcmcia/cm4000_cs.c | 3 +- drivers/char/pcmcia/ipwireless/main.c | 52 +- drivers/char/tpm/tpm.c | 28 +- drivers/char/tpm/tpm.h | 2 - drivers/char/tpm/tpm_tis.c | 4 +- drivers/gpu/drm/drm_irq.c | 29 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 16 +- drivers/gpu/drm/i915/i915_irq.c | 6 +- drivers/gpu/drm/i915/i915_reg.h | 10 - drivers/gpu/drm/i915/intel_display.c | 95 ++- drivers/gpu/drm/i915/intel_panel.c | 37 - drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +- drivers/gpu/drm/nouveau/nouveau_bo.c | 18 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 1 + drivers/gpu/drm/nouveau/nouveau_pm.c | 2 +- drivers/gpu/drm/nouveau/nv04_dfp.c | 12 +- drivers/gpu/drm/nouveau/nv40_graph.c | 46 +- drivers/gpu/drm/radeon/atombios_crtc.c | 4 +- drivers/gpu/drm/radeon/r100.c | 4 +- drivers/gpu/drm/radeon/r300.c | 2 + drivers/gpu/drm/radeon/radeon_display.c | 2 +- drivers/gpu/drm/radeon/radeon_fb.c | 5 +- drivers/hwmon/Kconfig | 19 +- drivers/hwmon/ad7414.c | 1 + drivers/hwmon/adt7411.c | 1 + drivers/hwmon/jc42.c | 35 +- drivers/hwmon/k10temp.c | 5 +- drivers/hwmon/lm85.c | 23 +- drivers/i2c/busses/i2c-omap.c | 35 +- drivers/i2c/busses/i2c-stu300.c | 2 +- drivers/infiniband/hw/nes/nes_hw.c | 32 +- drivers/infiniband/hw/qib/qib_rc.c | 5 +- drivers/input/gameport/gameport.c | 2 +- drivers/input/keyboard/tegra-kbc.c | 62 ++- drivers/input/mouse/synaptics.h | 23 + drivers/input/serio/serio.c | 2 +- drivers/isdn/hisax/isdnl2.c | 28 +- drivers/md/linear.c | 1 - drivers/md/md.c | 31 +- drivers/md/md.h | 2 + drivers/md/multipath.c | 1 - drivers/md/raid0.c | 2 +- drivers/md/raid1.c | 6 +- drivers/md/raid10.c | 7 +- drivers/md/raid5.c | 1 - drivers/memstick/core/memstick.c | 2 +- drivers/message/fusion/mptbase.h | 4 +- drivers/message/fusion/mptctl.c | 8 + drivers/message/fusion/mptscsih.c | 7 +- drivers/misc/tifm_core.c | 2 +- drivers/misc/vmw_balloon.c | 2 +- drivers/mtd/nand/r852.c | 2 +- drivers/mtd/sm_ftl.c | 2 +- drivers/net/can/mcp251x.c | 2 +- drivers/net/can/softing/Kconfig | 2 +- drivers/net/cxgb4vf/cxgb4vf_main.c | 80 ++- drivers/net/cxgb4vf/t4vf_hw.c | 2 +- drivers/net/dm9000.c | 9 +- drivers/net/e1000e/netdev.c | 52 +- drivers/net/forcedeth.c | 2 + drivers/net/ixgbe/ixgbe_fcoe.c | 51 ++- drivers/net/ixgbe/ixgbe_fcoe.h | 2 + drivers/net/ixgbe/ixgbe_main.c | 6 +- drivers/net/pch_gbe/pch_gbe.h | 2 +- drivers/net/pch_gbe/pch_gbe_main.c | 104 ++- drivers/net/r8169.c | 44 +- drivers/net/sfc/ethtool.c | 22 +- drivers/net/stmmac/stmmac_main.c | 4 +- drivers/net/tg3.c | 8 +- drivers/net/usb/dm9601.c | 4 + drivers/net/usb/hso.c | 12 +- drivers/net/usb/usbnet.c | 4 +- drivers/net/wireless/ath/ath5k/phy.c | 143 ++-- drivers/net/wireless/ath/ath9k/ath9k.h | 6 - drivers/net/wireless/ath/ath9k/init.c | 8 - drivers/net/wireless/ath/ath9k/main.c | 8 - drivers/net/wireless/iwlwifi/iwl-3945.c | 67 -- drivers/net/wireless/p54/p54pci.c | 14 +- drivers/net/wireless/rt2x00/rt2800pci.c | 8 + drivers/net/wireless/rt2x00/rt2800usb.c | 6 + drivers/nfc/Kconfig | 2 +- drivers/nfc/pn544.c | 4 +- drivers/pcmcia/pcmcia_resource.c | 2 + drivers/pcmcia/pxa2xx_base.c | 2 +- drivers/pcmcia/pxa2xx_base.h | 1 + drivers/pcmcia/pxa2xx_lubbock.c | 1 + drivers/platform/x86/Kconfig | 2 +- drivers/platform/x86/acer-wmi.c | 4 +- drivers/platform/x86/asus_acpi.c | 8 +- drivers/platform/x86/dell-laptop.c | 24 +- drivers/platform/x86/intel_pmic_gpio.c | 116 +-- drivers/platform/x86/tc1100-wmi.c | 2 +- drivers/platform/x86/thinkpad_acpi.c | 8 +- drivers/pps/kapi.c | 2 +- drivers/rapidio/rio-sysfs.c | 12 +- drivers/regulator/mc13xxx-regulator-core.c | 2 +- drivers/regulator/wm831x-dcdc.c | 1 + drivers/rtc/Kconfig | 12 + drivers/rtc/interface.c | 23 +- drivers/rtc/rtc-at91sam9.c | 2 +- drivers/rtc/rtc-dev.c | 104 +++ drivers/rtc/rtc-ds3232.c | 14 +- drivers/s390/block/dasd_eckd.c | 2 +- drivers/scsi/qla2xxx/qla_attr.c | 5 +- drivers/scsi/qla2xxx/qla_init.c | 10 +- drivers/scsi/qla2xxx/qla_os.c | 10 +- drivers/scsi/scsi_debug.c | 2 +- drivers/spi/pxa2xx_spi_pci.c | 61 +- drivers/target/Makefile | 3 +- drivers/target/target_core_configfs.c | 155 ++-- drivers/target/target_core_device.c | 13 +- drivers/target/target_core_fabric_configfs.c | 92 ++- drivers/target/target_core_iblock.c | 8 +- drivers/target/target_core_mib.c | 1078 ------------------------ drivers/target/target_core_mib.h | 28 - drivers/target/target_core_pscsi.c | 4 +- drivers/target/target_core_tpg.c | 29 +- drivers/target/target_core_transport.c | 48 +- drivers/thermal/Kconfig | 1 - drivers/thermal/thermal_sys.c | 40 +- drivers/tty/serial/max3100.c | 2 +- drivers/tty/serial/max3107.c | 2 +- drivers/usb/core/hub.c | 18 +- drivers/usb/core/quirks.c | 8 + drivers/usb/host/xhci-dbg.c | 9 +- drivers/usb/host/xhci-mem.c | 10 +- drivers/usb/host/xhci-ring.c | 40 +- drivers/usb/host/xhci.c | 14 +- drivers/usb/host/xhci.h | 2 +- drivers/usb/musb/musb_core.c | 1 + drivers/usb/musb/musb_core.h | 17 +- drivers/usb/musb/omap2430.c | 1 + drivers/usb/serial/sierra.c | 3 + drivers/usb/serial/usb_wwan.c | 15 +- drivers/usb/serial/visor.c | 12 + drivers/xen/manage.c | 10 + fs/afs/write.c | 1 + fs/aio.c | 52 +- fs/block_dev.c | 30 +- fs/btrfs/ctree.h | 3 + fs/btrfs/extent-tree.c | 9 +- fs/btrfs/extent_io.c | 138 +++- fs/btrfs/extent_io.h | 2 +- fs/btrfs/inode.c | 126 +++- fs/btrfs/ioctl.c | 7 +- fs/btrfs/lzo.c | 21 +- fs/btrfs/relocation.c | 13 +- fs/btrfs/super.c | 7 +- fs/btrfs/volumes.c | 13 +- fs/ceph/dir.c | 5 +- fs/ceph/snap.c | 14 +- fs/ceph/super.h | 1 + fs/cifs/cifsfs.h | 2 +- fs/cifs/netmisc.c | 8 +- fs/cifs/sess.c | 8 +- fs/ecryptfs/dentry.c | 22 +- fs/ecryptfs/ecryptfs_kernel.h | 3 +- fs/ecryptfs/file.c | 1 + fs/ecryptfs/inode.c | 138 +--- fs/eventfd.c | 12 +- fs/eventpoll.c | 95 +++ fs/fuse/dir.c | 7 +- fs/fuse/file.c | 52 +- fs/fuse/fuse_i.h | 6 +- fs/gfs2/glock.c | 4 +- fs/gfs2/main.c | 11 +- fs/inode.c | 31 +- fs/internal.h | 2 +- fs/locks.c | 12 +- fs/namei.c | 9 +- fs/namespace.c | 2 +- fs/nfsd/export.c | 1 - fs/nfsd/nfs4idmap.c | 1 - fs/nfsd/nfs4proc.c | 4 +- fs/nfsd/nfs4state.c | 160 ++-- fs/nfsd/nfs4xdr.c | 5 +- fs/nfsd/nfsctl.c | 35 +- fs/nfsd/state.h | 12 +- fs/nfsd/vfs.c | 2 - fs/nilfs2/btnode.c | 5 - fs/nilfs2/btnode.h | 1 - fs/nilfs2/mdt.c | 4 +- fs/nilfs2/page.c | 13 - fs/nilfs2/page.h | 1 - fs/nilfs2/super.c | 2 +- fs/ocfs2/journal.h | 6 +- fs/ocfs2/refcounttree.c | 7 +- fs/ocfs2/super.c | 28 +- fs/partitions/ldm.c | 5 + fs/partitions/mac.c | 17 +- fs/xfs/linux-2.6/xfs_discard.c | 2 + fs/xfs/xfs_fsops.c | 3 + include/asm-generic/pgtable.h | 2 + include/drm/drmP.h | 2 +- include/linux/dcbnl.h | 2 +- include/linux/freezer.h | 2 +- include/linux/fs.h | 4 +- include/linux/list.h | 12 +- include/linux/module.h | 2 +- include/linux/pm.h | 2 + include/linux/pm_wakeup.h | 25 +- include/linux/rio_regs.h | 4 +- include/linux/rtc.h | 15 + include/linux/sched.h | 2 +- include/linux/thermal.h | 8 + include/linux/workqueue.h | 8 +- include/net/ipv6.h | 12 + include/net/netfilter/nf_tproxy_core.h | 12 +- include/net/sch_generic.h | 2 +- include/pcmcia/ds.h | 1 + include/sound/wm8903.h | 10 +- include/target/target_core_base.h | 28 +- include/target/target_core_transport.h | 2 + kernel/irq/internals.h | 6 + kernel/irq/irqdesc.c | 11 +- kernel/irq/manage.c | 2 +- kernel/irq/resend.c | 2 +- kernel/perf_event.c | 19 +- kernel/power/main.c | 2 +- kernel/power/process.c | 6 +- kernel/power/snapshot.c | 7 +- kernel/time/tick-broadcast.c | 10 + kernel/time/tick-common.c | 6 +- kernel/time/tick-internal.h | 3 + kernel/workqueue.c | 37 +- lib/list_debug.c | 39 +- lib/swiotlb.c | 6 +- mm/memory.c | 2 + mm/mempolicy.c | 2 +- mm/migrate.c | 6 +- mm/mremap.c | 4 +- mm/page_alloc.c | 5 +- mm/swapfile.c | 2 +- mm/truncate.c | 2 + mm/vmscan.c | 32 +- net/bluetooth/l2cap.c | 1 + net/bluetooth/rfcomm/tty.c | 2 + net/bridge/br_input.c | 2 +- net/bridge/br_multicast.c | 42 +- net/bridge/br_private.h | 3 +- net/ceph/messenger.c | 62 +- net/core/dev.c | 9 +- net/dcb/dcbnl.c | 9 +- net/ipv4/devinet.c | 30 +- net/ipv4/inet_timewait_sock.c | 2 + net/ipv4/ip_gre.c | 1 + net/ipv4/route.c | 1 + net/ipv4/tcp_input.c | 5 +- net/ipv4/tcp_output.c | 2 +- net/ipv6/netfilter/ip6t_LOG.c | 2 +- net/ipv6/route.c | 1 + net/mac80211/iface.c | 1 + net/mac80211/mlme.c | 6 + net/mac80211/util.c | 2 + net/netfilter/core.c | 3 +- net/netfilter/nf_tproxy_core.c | 27 +- net/netfilter/xt_TPROXY.c | 22 +- net/netfilter/xt_socket.c | 13 +- net/rxrpc/ar-key.c | 8 +- net/sched/sch_generic.c | 1 + net/sctp/sm_make_chunk.c | 10 +- net/sunrpc/auth_gss/auth_gss.c | 2 +- net/sunrpc/auth_gss/gss_krb5_mech.c | 2 +- net/sunrpc/svcauth_unix.c | 18 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 1 + net/wireless/wext-compat.c | 4 +- net/xfrm/xfrm_policy.c | 7 +- scripts/basic/fixdep.c | 12 +- sound/core/jack.c | 1 + sound/pci/au88x0/au88x0_core.c | 14 +- sound/pci/hda/hda_intel.c | 1 + sound/pci/hda/patch_conexant.c | 68 ++- sound/pci/hda/patch_sigmatel.c | 15 +- sound/pci/hda/patch_via.c | 2 +- sound/soc/codecs/cx20442.c | 2 +- sound/soc/codecs/wm8903.c | 2 +- sound/soc/codecs/wm8903.h | 2 +- sound/soc/codecs/wm8994.c | 202 ++++- sound/soc/codecs/wm_hubs.c | 3 + sound/soc/imx/eukrea-tlv320.c | 2 +- sound/soc/pxa/e740_wm9705.c | 4 +- sound/soc/pxa/e750_wm9705.c | 4 +- sound/soc/pxa/e800_wm9712.c | 4 +- sound/soc/pxa/em-x270.c | 4 +- sound/soc/pxa/mioa701_wm9713.c | 4 +- sound/soc/pxa/palm27x.c | 4 +- sound/soc/pxa/tosa.c | 4 +- sound/soc/pxa/zylonite.c | 4 +- sound/soc/soc-dapm.c | 23 +- sound/usb/caiaq/audio.c | 2 +- sound/usb/caiaq/midi.c | 2 +- sound/usb/card.c | 4 + sound/usb/pcm.c | 7 +- sound/usb/usbaudio.h | 1 + tools/perf/builtin-timechart.c | 6 +- tools/perf/util/hist.c | 7 +- tools/perf/util/svghelper.c | 6 +- 370 files changed, 3795 insertions(+), 3239 deletions(-) delete mode 100644 drivers/target/target_core_mib.c delete mode 100644 drivers/target/target_core_mib.h
Quoted 7 lines · J. Bruce Fields
The diffstat generated by request-pull looked horribly wrong despite the individual patches looking reasonable; I assumed it was a side effect of the one back-merge and didn't look any closer. Sorry, I probably should have looked closer or asked for help.
Here you go--did I screw something up?
Yeah - the back merge. One of the bad side effects is that now you don't have a nice clear merge base any more, but _multiple_ merge bases (think "you mixed up your development tree with the upstream development tree").
Now, most of the time you end up being lucky, and when git picks one of those merge bases and tries to diff against them, it all works out anyway, and you get a reasonable diff. But not always. Because in the case of multiple merge bases, the only _real_ way to get a proper diff is actually to do the merge (and let merge sort out all the complexities) and then do the diff of the result.
But no, you didn't screw up as in "the diff is wrong" - it's just that the diff isn't rally valid, because git tried to do a diff against the merge base, but with multiple too choose between it just sometimes screws up.
One more reason to try to avoid mixing development streams.
(People who do this a lot have learnt to do a private merge into a temporary branch, and do the diff against that. I don't want to see that merge though - just think of it as a temporary throw-away thing just for the diff).
I'll pull.
Linus