GIT: wrapfs-latest -- Linux 4.10-rc2 (push to branch refs/tags/v4.10-rc2)
Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-latest -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 13a20db944986d357eff5e49a0e8db3b52703ed1 --> 8c49eaa0ab9c3d3444051fff34ca88f1a4062c08 .mailmap | 4 + CREDITS| 5 +- .../ABI/testing/sysfs-devices-deferred_probe | 12 - Documentation/DocBook/Makefile | 2 +- Documentation/admin-guide/kernel-parameters.txt| 13 +- Documentation/block/queue-sysfs.txt| 6 +- Documentation/devicetree/bindings/i2c/i2c.txt | 8 + .../bindings/input/tps65218-pwrbutton.txt | 4 +- .../interrupt-controller/snps,archs-idu-intc.txt | 3 + .../devicetree/bindings/mtd/tango-nand.txt | 6 +- .../devicetree/bindings/net/mediatek-net.txt | 2 +- Documentation/devicetree/bindings/net/phy.txt | 5 +- .../devicetree/bindings/net/ti,dp83867.txt | 6 +- .../bindings/power/supply/tps65217_charger.txt | 7 +- Documentation/devicetree/bindings/spi/sh-msiof.txt | 19 +- Documentation/driver-api/infrastructure.rst| 15 - Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/proc.txt | 5 +- Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/media/uapi/cec/cec-func-close.rst| 5 - Documentation/media/uapi/cec/cec-func-ioctl.rst| 5 - Documentation/media/uapi/cec/cec-func-open.rst | 5 - Documentation/media/uapi/cec/cec-func-poll.rst | 5 - Documentation/media/uapi/cec/cec-intro.rst | 17 +- .../media/uapi/cec/cec-ioc-adap-g-caps.rst | 5 - .../media/uapi/cec/cec-ioc-adap-g-log-addrs.rst| 5 - .../media/uapi/cec/cec-ioc-adap-g-phys-addr.rst| 5 - Documentation/media/uapi/cec/cec-ioc-dqevent.rst | 5 - Documentation/media/uapi/cec/cec-ioc-g-mode.rst| 5 - Documentation/media/uapi/cec/cec-ioc-receive.rst | 5 - Documentation/media/uapi/v4l/pixfmt-007.rst| 23 +- Documentation/networking/mpls-sysctl.txt | 4 +- Documentation/power/states.txt | 4 +- Documentation/unaligned-memory-access.txt | 2 +- Documentation/vfio-mediated-device.txt | 27 +- Documentation/vm/page_frags| 42 ++ MAINTAINERS| 139 +++-- Makefile | 6 +- arch/arc/Kconfig | 2 +- arch/arc/include/asm/cache.h | 9 +- arch/arc/include/asm/delay.h | 4 +- arch/arc/include/asm/entry-arcv2.h | 2 + arch/arc/include/asm/module.h | 4 +- arch/arc/include/asm/ptrace.h | 2 +- arch/arc/include/asm/setup.h | 1 + arch/arc/kernel/head.S | 14 +- arch/arc/kernel/intc-arcv2.c | 6 +- arch/arc/kernel/intc-compact.c | 4 +- arch/arc/kernel/mcip.c | 59 +- arch/arc/kernel/module.c | 4 +- arch/arc/kernel/smp.c | 25 +- arch/arc/kernel/unaligned.c| 3 +- arch/arc/mm/cache.c| 155 -- arch/arc/mm/init.c | 5 + arch/arm/Kconfig | 3 +- arch/arm/boot/dts/Makefile | 4 +- arch/arm/boot/dts/am335x-bone-common.dtsi | 8 +- arch/arm/boot/dts/am335x-icev2.dts | 1 - arch/arm/boot/dts/am33xx.dtsi | 1 + arch/arm/boot/dts/am4372.dtsi | 1 + arch/arm/boot/dts/am571x-idk.dts | 10 +- arch/arm/boot/dts/am572x-idk.dts | 14 +- arch/arm/boot/dts/am57xx-idk-common.dtsi | 9 +- arch/arm/boot/dts/bcm-nsp.dtsi | 2 +- arch/arm/boot/dts/da850-evm.dts| 1 + arch/arm/boot/dts/dm814x.dtsi | 1 + arch/arm/boot/dts/dm816x.dtsi | 1 + arch/arm/boot/dts/dra7.dtsi| 2 + arch/arm/boot/dts/dra72-evm-revc.dts | 2 +- arch/arm/boot/dts/dra72-evm-tps65917.dtsi | 16 + arch/arm/boot/dts/imx1.dtsi| 8 + arch/arm/boot/dts/imx23.dtsi | 8 + arch/arm/boot/dts/imx25.dtsi | 8 + arch/arm/boot/dts/imx27.dtsi | 8 + arch/arm/boot/dts/imx28.dtsi | 8 + arch/arm/boot/dts/imx31.dtsi | 12 +- arch/arm/boot/dts/imx35.dtsi | 8 + arch/arm/boot/dts/imx50.dtsi | 8 + arch/arm/boot/dts/imx51.dtsi | 8 + arch/arm/boot/dts/imx53.dtsi | 8 +
GIT: wrapfs-4.9.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.9.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 07f0afdf693fefb65ffe56ada5a6d37b478e3757 --> 3e6fa79e709aa4a95b6c37a2eee64aa3a43549c4 Documentation/conf.py | 6 +- .../devicetree/bindings/clock/imx31-clock.txt | 2 +- Documentation/devicetree/bindings/mfd/tps65086.txt | 2 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 3 +- Documentation/media/index.rst | 5 - Documentation/sphinx/rstFlatTable.py | 5 + Documentation/virtual/kvm/api.txt | 1 + MAINTAINERS| 9 + Makefile | 2 +- arch/alpha/kernel/ptrace.c | 2 +- arch/arc/Kconfig | 2 +- arch/arc/include/asm/cacheflush.h | 6 +- arch/arc/include/asm/delay.h | 4 +- arch/arc/include/asm/module.h | 4 +- arch/arc/kernel/module.c | 4 +- arch/arc/kernel/unaligned.c| 3 +- arch/arc/mm/cache.c| 13 +- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/am33xx.dtsi | 1 + arch/arm/boot/dts/am4372.dtsi | 1 + arch/arm/boot/dts/bcm283x.dtsi | 2 +- arch/arm/boot/dts/da850-evm.dts| 1 + arch/arm/boot/dts/dm814x.dtsi | 1 + arch/arm/boot/dts/dm816x.dtsi | 1 + arch/arm/boot/dts/dra7.dtsi| 2 + arch/arm/boot/dts/imx31.dtsi | 18 +- arch/arm/boot/dts/imx6dl.dtsi | 2 +- arch/arm/boot/dts/imx6q-cm-fx6.dts | 1 - arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 4 +- arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts | 11 +- arch/arm/boot/dts/omap2.dtsi | 1 + arch/arm/boot/dts/omap3.dtsi | 1 + arch/arm/boot/dts/omap4.dtsi | 1 + arch/arm/boot/dts/omap5.dtsi | 2 + arch/arm/boot/dts/r8a7794.dtsi | 9 +- arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts | 5 + arch/arm/configs/qcom_defconfig| 4 +- arch/arm/crypto/aes-ce-glue.c | 5 + arch/arm/include/asm/cputype.h | 3 + arch/arm/kernel/hw_breakpoint.c| 16 + arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/smp_tlb.c | 7 + arch/arm/mach-davinci/da850.c | 12 +- arch/arm/mach-omap2/Makefile | 2 +- arch/arm/mach-omap2/board-generic.c| 2 +- arch/arm/mach-omap2/common.h | 38 +- arch/arm/mach-omap2/io.c | 3 +- arch/arm/mach-omap2/omap-mpuss-lowpower.c | 37 +- arch/arm/mach-omap2/omap4-sar-layout.h | 2 + arch/arm/mach-omap2/timer.c| 9 +- arch/arm/mach-pxa/pxa25x.c | 2 +- arch/arm/mach-ux500/pm.c | 4 +- arch/arm/mach-zynq/common.c| 2 +- arch/arm/mm/fault.c| 4 +- arch/arm/mm/fault.h| 4 + arch/arm/xen/enlighten.c | 3 +- arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 7 - arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 2 +- arch/arm64/boot/dts/hisilicon/hip06.dtsi | 4 +- arch/arm64/boot/dts/mediatek/mt8173.dtsi | 3 + arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 18 + arch/arm64/crypto/aes-ce-ccm-core.S| 53 +- arch/arm64/crypto/aes-ce-cipher.c | 25 +- arch/arm64/crypto/aes-ce.S | 1 + arch/arm64/crypto/aes-modes.S | 91 ++- arch/arm64/crypto/aes-neon.S | 25 +- arch/arm64/crypto/ghash-ce-core.S | 6 +- arch/arm64/crypto/sha1-ce-core.S | 4 +- arch/arm64/crypto/sha2-ce-core.S | 4 +- arch/arm64/include/asm/memory.h| 2 +- arch/arm64/include/uapi/asm/ptrace.h | 1 + arch/arm64/kernel/entry.S | 2 +- arch/arm64/kernel/ptrace.c | 16 +- arch/arm64/kernel/traps.c | 28 +- arch/arm64/kvm/hyp/switch.c| 8 +- arch/arm64/mm/dma-mapping.c| 3 +- arch/arm64/mm/hugetlbpage.c| 22 +- arch/arm64/mm/init.c | 5 +-
GIT: wrapfs-4.8.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.8.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: b232c0e81548584bcfa07df76c47652856a808f5 --> 352d176613cbdc24125db1629e98bd8182cc51dc Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/sphinx/rstFlatTable.py | 5 + Documentation/virtual/kvm/api.txt | 1 + MAINTAINERS| 9 + Makefile | 2 +- arch/arc/include/asm/cacheflush.h | 6 +- arch/arc/mm/cache.c| 13 +- arch/arm/xen/enlighten.c | 3 +- arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 18 + arch/arm64/include/asm/acpi.h | 8 +- arch/arm64/kernel/setup.c | 9 +- arch/arm64/kvm/hyp/switch.c| 8 +- arch/powerpc/boot/ps3-head.S | 5 - arch/powerpc/boot/ps3.c| 8 +- arch/powerpc/include/asm/kvm_host.h| 1 + arch/powerpc/include/uapi/asm/kvm.h| 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kernel/head_64.S | 8 +- arch/powerpc/kvm/book3s_hv.c | 6 + arch/powerpc/kvm/book3s_hv_rm_mmu.c| 2 + arch/powerpc/kvm/book3s_hv_rmhandlers.S| 4 + arch/s390/kernel/setup.c | 2 +- arch/x86/entry/entry_32.S | 4 +- arch/x86/events/core.c | 8 +- arch/x86/events/intel/cstate.c | 14 +- arch/x86/events/perf_event.h | 2 +- arch/x86/kvm/vmx.c | 11 +- block/blk-mq.c | 6 +- block/bsg.c| 3 + drivers/acpi/video_detect.c| 20 + drivers/base/core.c| 39 +- drivers/base/firmware_class.c | 7 +- drivers/base/power/opp/core.c | 22 +- drivers/block/aoe/aoecmd.c | 41 -- drivers/block/loop.c | 2 +- drivers/char/tpm/xen-tpmfront.c| 1 - drivers/clk/bcm/clk-bcm2835.c | 4 +- drivers/clk/ti/clk-3xxx.c | 20 +- drivers/clk/ti/clock.h | 9 + drivers/clk/ti/dpll.c | 19 +- drivers/clk/ti/dpll3xxx.c | 67 +++ drivers/cpufreq/cpufreq-dt.c | 12 +- drivers/crypto/caam/caamalg.c | 4 +- drivers/gpio/gpiolib.c | 5 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 26 +- drivers/gpu/drm/ast/ast_main.c | 7 +- drivers/gpu/drm/gma500/psb_drv.c | 3 + drivers/gpu/drm/i915/i915_gem_stolen.c | 5 +- drivers/gpu/drm/i915/intel_display.c | 9 +- drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 3 +- drivers/gpu/drm/i915/intel_runtime_pm.c| 13 +- drivers/gpu/drm/nouveau/nouveau_bios.c | 3 + drivers/gpu/drm/nouveau/nouveau_bo.c | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 6 +- .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogf100.c | 9 +- .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c | 8 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 50 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h| 1 + drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c | 7 +- .../gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c | 2 + drivers/gpu/drm/radeon/radeon_cursor.c | 69 ++- drivers/gpu/drm/radeon/radeon_mode.h | 1 + drivers/gpu/drm/radeon/si.c| 1 + drivers/gpu/drm/radeon/si_dpm.c| 1 + drivers/hv/channel_mgmt.c | 2 + drivers/hwtracing/stm/core.c | 8 +- drivers/infiniband/core/mad.c | 2 +- drivers/infiniband/core/multicast.c| 7 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 1 + drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +- drivers/input/misc/drv260x.c | 1 - drivers/md/dm-crypt.c | 7 +- drivers/md/dm-flakey.c | 2 + drivers/md/dm-raid.c | 9 +- drivers/md/dm-rq.c | 10 +- drivers/md/dm-table.c | 24 +- drivers/md/persistent-data/dm-space-map-metadata.c | 14 +-
GIT: wrapfs-4.7.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 5513938baa8ef08e95a9e6bc7280b6586ed9bcbd --> 510e36d7bae6e4ed2603c1be7cd7456809b16049 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 510e36d7bae6e4ed2603c1be7cd7456809b16049 Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit fb34de316d0a2371321a4fbaeef77f3e2ba10ed5 Author: Erez Zadok Date: Sat Feb 18 15:37:07 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05b80e9..9f054163 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 35cc808..3b782c9 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index eae79ba..32faef5 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-4.6.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: c843f6a022e07cd5a679d7f7c3e8434d17b87108 --> 4a55611339df03b768b974c60f712746eb95e4dd fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 4a55611339df03b768b974c60f712746eb95e4dd Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 3cbba4141e1b5f29bb0cc6946f1e479c33329b75 Author: Erez Zadok Date: Sat Feb 18 15:36:21 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05b80e9..9f054163 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index ce180b8..856f5ee 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index eae79ba..32faef5 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-4.5.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 514480d3a572d809b2969a4a9131a953db9ba8bf --> 61ae1cc4c7f3d07fcac82cd4cf47bc2ca4de27b7 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 61ae1cc4c7f3d07fcac82cd4cf47bc2ca4de27b7 Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit f2e400e80c6def2ba74d0c80b50060c3157676d3 Author: Erez Zadok Date: Sat Feb 18 15:35:43 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05b80e9..9f054163 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index ce180b8..856f5ee 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index eae79ba..32faef5 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-4.4.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.2.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 0495fe27a1b950d5d1cefb2d7ec962d666fc8f45 --> 964912d2aaeaf6695a8070fbeba157ee12287c4d fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 964912d2aaeaf6695a8070fbeba157ee12287c4d Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit f2d7af8d80ed4ef9d18640884ec20eb8ac71980c Author: Erez Zadok Date: Sat Feb 18 15:33:36 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05b80e9..9f054163 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 07c6aa9..e657a2f 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index eae79ba..32faef5 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-4.1.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.0.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 7cf6d8aeeeccc710abfdb0e49c9360fd4ba88221 --> 514d2996c0bca1429853eabbac7b90676a68f309 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 514d2996c0bca1429853eabbac7b90676a68f309 Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit f5b533c5b94f7ff54b675a5971261deddb226291 Author: Erez Zadok Date: Sat Feb 18 15:32:07 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 1176ebe..044f96b 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 0d0f4a3..3ff578e 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.19.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: cfd352357ff4e1dc843fc2e6e52c5b249cbe7bb0 --> 52d6f81212a929966ca4812f57109fe347549fdf fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 52d6f81212a929966ca4812f57109fe347549fdf Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 3c926aabc33bb6d3c39fbd3e84f7d3eccc954f25 Author: Erez Zadok Date: Sat Feb 18 15:31:25 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 1176ebe..044f96b 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 586e248..654136f 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.18.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-3.18.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: bfe9e2aad623b7bc8597bd09f13d7d657db108b3 --> 4addd7ea86a57f9263c563fa613eb5f4fe869bff Documentation/Makefile | 2 +- Documentation/arm/Makefile | 1 - Documentation/arm/SH-Mobile/Makefile | 7 - Documentation/arm/SH-Mobile/vrl4.c | 170 -- Documentation/arm/SH-Mobile/zboot-rom-mmcif.txt| 29 - Documentation/arm/SH-Mobile/zboot-rom-sdhi.txt | 42 -- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/video4linux/v4l2-pci-skeleton.c | 2 +- Documentation/virtual/kvm/api.txt | 1 + MAINTAINERS| 9 + Makefile | 3 +- arch/arm/xen/enlighten.c | 3 +- arch/powerpc/boot/ps3-head.S | 5 - arch/powerpc/boot/ps3.c| 8 +- arch/powerpc/include/asm/kvm_host.h| 1 + arch/powerpc/include/uapi/asm/kvm.h| 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kvm/book3s_hv.c | 6 + arch/powerpc/kvm/book3s_hv_rmhandlers.S| 4 + arch/x86/boot/compressed/misc.h| 11 +- arch/x86/xen/mmu.c | 2 +- block/bsg.c| 3 + crypto/algif_hash.c| 8 +- drivers/ata/pata_hpt366.c | 4 +- drivers/atm/iphase.c | 2 +- drivers/block/paride/pg.c | 4 +- drivers/crypto/caam/caamalg.c | 4 +- drivers/gpu/drm/ast/ast_main.c | 7 +- drivers/gpu/drm/gma500/psb_drv.c | 3 + drivers/gpu/drm/i915/i915_debugfs.c| 5 +- drivers/gpu/drm/radeon/si_dpm.c| 1 + drivers/hid/hid-input.c| 2 +- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +- drivers/input/misc/drv260x.c | 1 - drivers/md/dm-crypt.c | 7 +- drivers/md/persistent-data/dm-space-map-metadata.c | 14 +- drivers/md/raid5.c | 9 + drivers/media/platform/s3c-camif/camif-capture.c | 4 +- drivers/media/v4l2-core/videobuf2-core.c | 1 - drivers/mmc/host/sdhci.c | 20 + drivers/mtd/mtd_blkdevs.c | 8 +- drivers/net/ethernet/dec/tulip/uli526x.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c| 1 - drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 30 +- drivers/net/wireless/iwlegacy/3945.c | 3 +- drivers/pci/pci.c | 4 + drivers/regulator/stw481x-vmmc.c | 3 +- drivers/s390/char/vmlogrdr.c | 2 +- drivers/scsi/be2iscsi/be_main.c| 3 +- drivers/scsi/bfa/bfa_ioc.c | 22 +- drivers/scsi/megaraid/megaraid_sas_fusion.c| 1 + drivers/scsi/qla2xxx/qla_target.c | 3 +- drivers/scsi/scsi_sysfs.c | 4 - drivers/scsi/sg.c | 3 + drivers/spi/spi-dw-mid.c | 69 ++- drivers/ssb/pci.c | 1 + drivers/staging/comedi/drivers/ni_mio_common.c | 2 +- drivers/staging/iio/adc/ad7192.c | 2 +- drivers/staging/lustre/lustre/llite/llite_lib.c| 3 +- drivers/staging/rtl8723au/core/rtw_wlan_util.c | 2 +- drivers/target/target_core_user.c | 2 - drivers/thermal/thermal_hwmon.c| 2 +- drivers/usb/class/cdc-acm.c| 1 + drivers/usb/core/hub.c | 101 ++-- drivers/usb/gadget/composite.c | 2 +- drivers/usb/gadget/udc/udc-xilinx.c| 4 +- drivers/usb/host/uhci-pci.c| 4 + drivers/usb/renesas_usbhs/common.c | 2 +- drivers/usb/serial/kl5kusb105.c| 33 +- drivers/usb/serial/option.c| 7 + fs/Kconfig | 1 + fs/Makefile| 1 + fs/block_dev.c | 9 +- fs/btrfs/tree-log.c| 3 +- fs/cifs/cifsglob.h | 3 + fs/cifs/cifsproto.h| 3 + fs/cifs/connect.c | 34 +- fs/cifs/smb2file.c | 2 +- fs/cifs/smb2pdu.c | 77 ++-
GIT: wrapfs-3.17.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 5b36fe8bc3d8dcd01db6d2973dab444a1bec4389 --> 6f761cc898d80fbc773b422f2898dcb03c7112de fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 6f761cc898d80fbc773b422f2898dcb03c7112de Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 3a64749cd5ff4720d0e5364cf671b1ad042e8de9 Author: Erez Zadok Date: Sat Feb 18 15:29:51 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 1176ebe..044f96b 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 586e248..654136f 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.16.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: c381cb3ea64cbf1eef0a097056f3363d789fbfa8 --> 3fb41a159fe51d04665b08c7f1e1fb467316cc36 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 3fb41a159fe51d04665b08c7f1e1fb467316cc36 Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit e9eaaad225ddb4b11e1db93298cd78924cbfae3a Author: Erez Zadok Date: Sat Feb 18 15:29:07 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 1176ebe..044f96b 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 6f168fd..1569764 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.15.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 34e5c366f86ac0e0da8cc42b07df99bdbc6b8703 --> 3d15bb8027a51d5707dafc6408e5370f48a717ab fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 3d15bb8027a51d5707dafc6408e5370f48a717ab Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 0602d021240bb64f427e4d3c2320461602df43f0 Author: Erez Zadok Date: Sat Feb 18 15:28:23 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index c1ee675..7737892 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index 586e248..654136f 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.14.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 7403104a130b9f905abdf091868130650017dd2d --> 86faf7a864ea65f99772a302ade78feef531ff7b fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 86faf7a864ea65f99772a302ade78feef531ff7b Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 2e2385ff8d6233a10280e099e1ac1407415f7639 Author: Erez Zadok Date: Sat Feb 18 15:27:39 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index c1ee675..7737892 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b634c25..ef7e497 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.13.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 25c3dece11ca63724dca3c5c9356a5afe644dd9c --> 6790258d5eb866545cdaa305fe1075560cb0857f fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 6790258d5eb866545cdaa305fe1075560cb0857f Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 7128bf12878bf590f90953862dabef89918a98bd Author: Erez Zadok Date: Sat Feb 18 15:26:54 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index a0f0e0d..f2b3ac1 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index c1ee675..7737892 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b634c25..ef7e497 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 20b3037..a771fef 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.11.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 22d1104b710f702793a4036fcbf5e8b5199630fb --> 79df0228e053e76a4f0fe5cd9517ef77937ff836 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 79df0228e053e76a4f0fe5cd9517ef77937ff836 Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 1a65e2b0c881317856d3824f909ead9aba173f7a Author: Erez Zadok Date: Sat Feb 18 15:25:29 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 1c48ee4..5887dcf 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index cd66452..6eead83 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d277315..98c51a2 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 95d2dba..8549996 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.10.y -- Linux 3.10.105 (push to branch refs/tags/v3.10.105)
Push to branch refs/tags/v3.10.105: --> 4d6dc2538f6ede3b25fdf30abdf2cda0f1b072c3 Push to branch refs/tags/v3.12.70: --> 32b8f0dc51ef2075b33abcfdc1d3e3be91a730cf Push to branch refs/tags/v3.18.46: --> 265d92480a092ae5a59e454dbee5f7801cc23a4d Push to branch refs/tags/v3.18.47: --> 3cd909894254b67c1515aef15c4dd197fef6e5ca Push to branch refs/tags/v3.18.48: --> 6cca2f0c6724fdd3acdb4ec0a238eba202f68ada Push to branch refs/tags/v4.1.37: --> 084cccaf69e419b9cb94920d2f71c9adfde0bdca Push to branch refs/tags/v4.1.38: --> 87b965de44c4a2f6af29a3a66c993ad506dc9161 Push to branch refs/tags/v4.10-rc1: --> 2b3b80e8b9daba3e8e12f23f1acde4bd0ec88427 Push to branch refs/tags/v4.10-rc2: --> eaa30079ff1896aa415b0fd5b153fccc11ac570e Push to branch refs/tags/v4.10-rc3: --> cb32faa36a6b317fffeb566758519a5d4aa09750 Push to branch refs/tags/v4.10-rc4: --> b0131e43d2880f9bda208b0f17570f20280995e9 Push to branch refs/tags/v4.10-rc5: --> 01a49c26cbeb8c074c5e5ea212a67d92d62307dc Push to branch refs/tags/v4.10-rc6: --> a4ee79b7932655354695e1c449a95cccbe3d0679 Push to branch refs/tags/v4.10-rc7: --> d8c71924693d90834b2de38a061f5200b1dc6245 Push to branch refs/tags/v4.10-rc8: --> f1bff1ad193c13715d0f6c8f5a3451a4798c5d62 Push to branch refs/tags/v4.4.40: --> 48212d820bb1c33a703373db994b3c5f0cdd2213 Push to branch refs/tags/v4.4.41: --> 90a1700e3dafb923ce28ea714aace490c5ebf0d9 Push to branch refs/tags/v4.4.42: --> 4cfad48c7acdce48ede47b8163f5f038ff97e576 Push to branch refs/tags/v4.4.43: --> 58509ab2a4a7da8ee82c83ff7b552a483b4bff52 Push to branch refs/tags/v4.4.44: --> 94183734574d31dcfc5d313cdabb87fbf0f8ca11 Push to branch refs/tags/v4.4.45: --> 4b18b3dca6516a18d03e5dab649bda2998b2afae Push to branch refs/tags/v4.4.46: --> 147dd9fe05ba0ff15e5424b2fe2cacbcd47828d9 Push to branch refs/tags/v4.4.47: --> 7663f0d0492d62c4d990a80f50977b0bd32bc584 Push to branch refs/tags/v4.4.48: --> c63edb77b6d5396cf8978cfe29fdc697cb4adf2f Push to branch refs/tags/v4.4.49: --> 2126ab83df1ed3b8e1832b543a32e94f88182b7f Push to branch refs/tags/v4.4.50: --> 96a73a497f7be16048cb970eed46e3cc4de8fba3 Push to branch refs/tags/v4.8.16: --> 6759f9d3e950f532a005ddef74dbde1f2aa14c8f Push to branch refs/tags/v4.8.17: --> b3650de890a6d9e88c42caeeb92ca6d7efcf2391 Push to branch refs/tags/v4.9.1: --> 03d6e391dd0d5cf18d20d9d6195f5535e5f44a38 Push to branch refs/tags/v4.9.10: --> ad5f97ef0764c0e743b72fa3158023221e0136a9 Push to branch refs/tags/v4.9.11: --> 7c1ba24ec97e457295425b97cb8581d8b6e0431a Push to branch refs/tags/v4.9.2: --> d00dcc74769f9e0cd30e72a5ad5373b5dd302a9a Push to branch refs/tags/v4.9.3: --> 14e3331ddf8aae9f3045a54b88bda1a8c9162ef8 Push to branch refs/tags/v4.9.4: --> 3cfdfb1b0ec7712ce4ba35095633433db301c7fa Push to branch refs/tags/v4.9.5: --> ec49c42030ef555bf82d12c224a187136dbbfc10 Push to branch refs/tags/v4.9.6: --> cf80b0333ee3dc0e43c0553701cefdcf6dd1b9a9 Push to branch refs/tags/v4.9.7: --> b29aed746752d059af90bfc9e489719fff536f6f Push to branch refs/tags/v4.9.8: --> 26654f6c92c764f2a818301af740e60ac816d0a4 Push to branch refs/tags/v4.9.9: --> 9d6f5f1bbffc1ed2d7940c48b9ec22689e6dd7dd ___ unionfs-cvs mailing
GIT: wrapfs-3.9.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 6beb78b5ab0e2994438c04442d8a3a7ebc0ddf72 --> 5adad987f145882922cfbf219a0193e3aabbbf88 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 5adad987f145882922cfbf219a0193e3aabbbf88 Author: Erez ZadokDate: Sat Feb 18 19:11:24 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 839ce4ab6611afa553dcb2245f46d069278be14b Author: Erez Zadok Date: Sat Feb 18 15:24:04 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 1c48ee4..5887dcf 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 300c868..637ed30 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d277315..98c51a2 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 95d2dba..8549996 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.8.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 9ce64920535765025f09c9c92883e71d2e52dbb7 --> 40b3a0dca742059ad30931b9bd490ce07d2aaea3 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 40b3a0dca742059ad30931b9bd490ce07d2aaea3 Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit c9932c6bac8df9c49b3d406dee5c348c25694cbf Author: Erez Zadok Date: Sat Feb 18 15:23:22 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 1c48ee4..5887dcf 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05a98ae..23f2b4a 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d277315..98c51a2 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 95d2dba..8549996 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.7.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 59347a3118f1f9d45d790b6ed4864da9b36b4a34 --> 2b3987217b9a93a64ad6f845a4568c20efec154f fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 2b3987217b9a93a64ad6f845a4568c20efec154f Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 7e42e764c910c2d71cd79838cbf41a45b9c60ff0 Author: Erez Zadok Date: Sat Feb 18 15:22:38 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 1c48ee4..5887dcf 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 05a98ae..23f2b4a 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d277315..98c51a2 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 95d2dba..8549996 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.6.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 0b92d6ffcd75bc50a490282033a271260f4724d0 --> 0731c452db9a6ab93c7501d63fc657108d9a8d95 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 0731c452db9a6ab93c7501d63fc657108d9a8d95 Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 45d70296abf2025611a14bf6e8794c5539d6c269 Author: Erez Zadok Date: Sat Feb 18 15:21:55 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 1c48ee4..5887dcf 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 55e2a72..4a3bb93 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d277315..98c51a2 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 95d2dba..8549996 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.4.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 25f8c2313948296727d1ff5677d11de4c137eccf --> d6103e4a504c33741727e991380d4f41aebaa912 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit d6103e4a504c33741727e991380d4f41aebaa912 Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 5892247e801a2acb0c54ea12253a261f85e31e24 Author: Erez Zadok Date: Sat Feb 18 15:20:33 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 4593552..2c5aee8 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 95a9a75..6028854 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index d9d5875..459f46c 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index afa5063..2049958 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.2.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: c9bfc3b0c85dc9ccdb7652197b71bd6fdc9d --> e2ecf845a69888cba21ea22d856e677ebc6fbc0c fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit e2ecf845a69888cba21ea22d856e677ebc6fbc0c Author: Erez ZadokDate: Sat Feb 18 19:11:23 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit e2bf1096a338455a9c477bdfd1d067e0b1b70105 Author: Erez Zadok Date: Sat Feb 18 15:19:14 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 4593552..2c5aee8 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 95a9a75..6028854 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index ef8bcb1..c8fe2a9 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index afa5063..2049958 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.1.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 7de45f04a89874a781ccf990c52059fb21077bcb --> 6f938cc42748aedfd71d7ceccc41eec5d62a4b24 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 6f938cc42748aedfd71d7ceccc41eec5d62a4b24 Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit d0702b8738df176c2b38e1045d8820fc93f4b85f Author: Erez Zadok Date: Sat Feb 18 15:18:34 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 4593552..2c5aee8 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 95a9a75..6028854 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b1b330a..9653bba 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index afa5063..2049958 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -73,8 +73,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -86,22 +87,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - }
GIT: wrapfs-3.0.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: bb40485702e9c3ec769e88219cb5c78428f68ca5 --> 342a2e3ff6eed0e953eb346656e567a2220d7d31 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 342a2e3ff6eed0e953eb346656e567a2220d7d31 Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit e48f9fd7d820dfc4dfe103c49b621fe2c129d572 Author: Erez Zadok Date: Sat Feb 18 15:17:57 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 4593552..2c5aee8 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 8fbc3f9..d3e7027 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index a7684fa..c4e3898 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 5427fa7..5e117dc 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-2.6.39.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 56187cc1d702adad5b20aeeaab13667441138e19 --> e975e46b233430f5285114ffe7f845261b9909fd fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit e975e46b233430f5285114ffe7f845261b9909fd Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit ff23b2d1e70d72b18614148110d09961fddd66ab Author: Erez Zadok Date: Sat Feb 18 15:17:20 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 4593552..2c5aee8 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 8fbc3f9..d3e7027 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index a7684fa..c4e3898 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 5427fa7..5e117dc 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-2.6.37.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 745c463ba112e784acb0aab9f22e46af6672cd3b --> f23f53b6bd77a13dffef75339c0f0b66a168f24d fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit f23f53b6bd77a13dffef75339c0f0b66a168f24d Author: Erez ZadokDate: Sat Feb 18 19:11:22 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 29470d02b855e740272f916e5cc8cf514f7af6b7 Author: Erez Zadok Date: Sat Feb 18 15:16:06 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 332317f..3ecab8e 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 7cb82dd..950a659 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b1b330a..9653bba 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index b31b58b..5cd337d 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-2.6.35.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: c94bb12e7c50ff5c08140bc8a98617ef1f45a0ba --> 1540ae90783ec8097ab7df1a42607af02851591d fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 1540ae90783ec8097ab7df1a42607af02851591d Author: Erez ZadokDate: Sat Feb 18 19:11:21 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 822f607d449308b70e8268a913887d241c2ad897 Author: Erez Zadok Date: Sat Feb 18 15:14:56 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 332317f..3ecab8e 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index c9db594..cfaf536 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b204bf6..6631772 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index b31b58b..5cd337d 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-2.6.34.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: cda6002af37cdd8e6a5ee56f825fbfefc4dac07c --> 8e3ed0708a208d78225cf44e1830dae9a269c874 fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 8e3ed0708a208d78225cf44e1830dae9a269c874 Author: Erez ZadokDate: Sat Feb 18 19:11:21 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit 4a441052ed63a8409669726273389816404133e5 Author: Erez Zadok Date: Sat Feb 18 15:14:21 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 332317f..3ecab8e 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 79beb40..bb9a743 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b204bf6..6631772 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index b31b58b..5cd337d 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-2.6.33.y -- Wrapfs: ->iget fixes (push to branch refs/heads/master)
Push to branch refs/heads/master: 29e908c585e8e8ed6534cb01342a290e69374fea --> 329bacd64d2219655331b483b86d6f67d5a4dfbb fs/wrapfs/dentry.c | 6 +++--- fs/wrapfs/file.c | 6 +++--- fs/wrapfs/inode.c | 6 +++--- fs/wrapfs/lookup.c | 22 ++ fs/wrapfs/main.c | 6 +++--- fs/wrapfs/mmap.c | 6 +++--- fs/wrapfs/super.c | 6 +++--- fs/wrapfs/wrapfs.h | 6 +++--- 8 files changed, 31 insertions(+), 33 deletions(-) commit 329bacd64d2219655331b483b86d6f67d5a4dfbb Author: Erez ZadokDate: Sat Feb 18 19:11:21 2017 -0500 Wrapfs: ->iget fixes Change where we igrab/iput to ensure we always hold a valid lower_inode. Return ENOMEM (not EACCES) if iget5_locked returns NULL. Signed-off-by: Erez Zadok commit da79d864d7999d16e7a449bfc06c416493d9e70a Author: Erez Zadok Date: Sat Feb 18 15:13:48 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c index 332317f..3ecab8e 100644 --- a/fs/wrapfs/dentry.c +++ b/fs/wrapfs/dentry.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c index 79beb40..bb9a743 100644 --- a/fs/wrapfs/file.c +++ b/fs/wrapfs/file.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index b204bf6..6631772 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index b31b58b..5cd337d 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2015 Erez Zadok + * Copyright (c) 1998-2017 Erez Zadok * Copyright (c) 2009 Shrikar Archak - * Copyright (c) 2003-2015 Stony Brook University - * Copyright (c) 2003-2015 The Research Foundation of SUNY + * Copyright (c) 2003-2017 Stony Brook University + * Copyright (c) 2003-2017 The Research Foundation of SUNY * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { struct wrapfs_inode_info *info; struct inode *inode; /* the new inode to return */ - int err; + if (!igrab(lower_inode)) + return ERR_PTR(-ESTALE); inode = iget5_locked(sb, /* our superblock */ /* * hashval: we use inode number, but we can @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, wrapfs_inode_set, /* inode init function */ lower_inode); /* data passed to test+set fxns */ if (!inode) { - err = -EACCES; iput(lower_inode); - return ERR_PTR(err); + return ERR_PTR(-ENOMEM); } - /* if found a cached inode, then just return it */ - if (!(inode->i_state & I_NEW)) + /* if found a cached inode, then just return it (after iput) */ + if (!(inode->i_state & I_NEW)) { + iput(lower_inode); return inode; + } /* initialize new inode */ info = WRAPFS_I(inode); inode->i_ino = lower_inode->i_ino; - if (!igrab(lower_inode)) { - err = -ESTALE; - return ERR_PTR(err); - } wrapfs_set_lower_inode(inode, lower_inode);
GIT: wrapfs-latest -- Wrapfs: use new ->rename API (push to branch refs/heads/master)
Push to branch refs/heads/master: 3eb14f4a4dcc59b6d94724feb31e72e571e83d3c --> 13a20db944986d357eff5e49a0e8db3b52703ed1 .cocciconfig | 3 + .gitattributes | 2 + .gitignore | 2 + .mailmap |28 + CREDITS|48 +- Documentation/.gitignore | 2 + Documentation/00-INDEX | 207 +- Documentation/ABI/README | 2 +- Documentation/ABI/stable/sysfs-class-ubi | 9 + Documentation/ABI/stable/sysfs-devices |16 +- Documentation/ABI/testing/configfs-acpi|36 + Documentation/ABI/testing/configfs-iio |13 + Documentation/ABI/testing/configfs-usb-gadget-uvc |58 +- Documentation/ABI/testing/sysfs-block |42 + Documentation/ABI/testing/sysfs-block-zram | 9 + .../ABI/testing/sysfs-bus-coresight-devices-etb10 |69 +- .../ABI/testing/sysfs-bus-coresight-devices-etm4x |13 + .../ABI/testing/sysfs-bus-coresight-devices-stm|53 + .../ABI/testing/sysfs-bus-coresight-devices-tmc|77 + Documentation/ABI/testing/sysfs-bus-fsl-mc |21 + Documentation/ABI/testing/sysfs-bus-iio| 100 +- .../testing/sysfs-bus-iio-adc-envelope-detector|36 + .../ABI/testing/sysfs-bus-iio-counter-104-quad-8 | 125 + Documentation/ABI/testing/sysfs-bus-iio-cros-ec|18 + .../ABI/testing/sysfs-bus-iio-dac-dpot-dac | 8 + .../ABI/testing/sysfs-bus-iio-health-afe440x |63 +- .../ABI/testing/sysfs-bus-iio-light-isl29018 |19 + .../ABI/testing/sysfs-bus-iio-light-tsl2583|20 + .../testing/sysfs-bus-iio-potentiometer-mcp4531| 8 + .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- Documentation/ABI/testing/sysfs-bus-mcb|29 + Documentation/ABI/testing/sysfs-bus-pci| 7 + Documentation/ABI/testing/sysfs-bus-rbd|29 +- Documentation/ABI/testing/sysfs-bus-vfio-mdev | 111 + Documentation/ABI/testing/sysfs-class-cxl | 7 +- Documentation/ABI/testing/sysfs-class-fpga-bridge |11 + Documentation/ABI/testing/sysfs-class-led |17 +- .../ABI/testing/sysfs-class-led-trigger-oneshot|36 + .../ABI/testing/sysfs-class-led-trigger-usbport|12 + Documentation/ABI/testing/sysfs-class-mei |16 + Documentation/ABI/testing/sysfs-class-mic.txt | 2 +- .../ABI/testing/sysfs-class-net-batman-adv |20 +- Documentation/ABI/testing/sysfs-class-power| 8 +- Documentation/ABI/testing/sysfs-class-pwm | 9 + Documentation/ABI/testing/sysfs-class-remoteproc |50 + .../sysfs-class-rtc-rtc0-device-rtc_calibration| 5 +- Documentation/ABI/testing/sysfs-class-stm |10 + .../ABI/testing/sysfs-devices-deferred_probe |12 + Documentation/ABI/testing/sysfs-devices-system-cpu |26 + .../ABI/testing/sysfs-devices-system-ibm-rtl | 4 +- .../ABI/testing/sysfs-driver-hid-logitech-lg4ff|15 + Documentation/ABI/testing/sysfs-driver-wacom | 5 + Documentation/ABI/testing/sysfs-i2c-bmp085 |31 - Documentation/ABI/testing/sysfs-kernel-irq |53 + Documentation/ABI/testing/sysfs-kernel-slab| 2 +- .../ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 |15 + Documentation/ABI/testing/sysfs-platform-sst-atom |17 + .../ABI/testing/sysfs-platform-usbip-vudc |35 + Documentation/ABI/testing/sysfs-power |45 +- Documentation/BUG-HUNTING | 246 - Documentation/Changes | 412 +- Documentation/CodeOfConflict |27 - Documentation/CodingStyle | 947 +- Documentation/DMA-API-HOWTO.txt| 8 +- Documentation/DMA-API.txt |55 +- Documentation/DMA-attributes.txt |19 +- Documentation/DocBook/80211.tmpl | 583 - Documentation/DocBook/Makefile |46 +- Documentation/DocBook/alsa-driver-api.tmpl | 142 - Documentation/DocBook/crypto-API.tmpl | 2078 --- Documentation/DocBook/debugobjects.tmpl| 443 - Documentation/DocBook/device-drivers.tmpl | 542 - Documentation/DocBook/gpu.tmpl | 3521 Documentation/DocBook/iio.tmpl | 2 +- Documentation/DocBook/kernel-hacking.tmpl | 6 +- Documentation/DocBook/media/.gitignore | 1 - Documentation/DocBook/media/Makefile | 425 - Documentation/DocBook/media/bayer.png.b64 | 171 -
GIT: wrapfs-4.9.y -- Wrapfs: use new ->rename API (push to branch refs/heads/master)
Push to branch refs/heads/master: 3eb14f4a4dcc59b6d94724feb31e72e571e83d3c --> 07f0afdf693fefb65ffe56ada5a6d37b478e3757 .cocciconfig | 3 + .gitattributes | 2 + .gitignore | 2 + .mailmap |28 + CREDITS|42 +- Documentation/.gitignore | 2 + Documentation/00-INDEX | 7 +- Documentation/80211/cfg80211.rst | 345 + Documentation/80211/conf.py| 5 + Documentation/80211/index.rst |17 + Documentation/80211/introduction.rst |17 + Documentation/80211/mac80211-advanced.rst | 295 + Documentation/80211/mac80211.rst | 216 + Documentation/ABI/stable/sysfs-class-ubi | 9 + Documentation/ABI/stable/sysfs-devices | 2 +- Documentation/ABI/testing/configfs-acpi|36 + Documentation/ABI/testing/configfs-iio |13 + Documentation/ABI/testing/configfs-usb-gadget-uvc |58 +- Documentation/ABI/testing/sysfs-block-zram | 9 + .../ABI/testing/sysfs-bus-coresight-devices-etb10 |69 +- .../ABI/testing/sysfs-bus-coresight-devices-etm4x |13 + .../ABI/testing/sysfs-bus-coresight-devices-stm|53 + .../ABI/testing/sysfs-bus-coresight-devices-tmc|77 + Documentation/ABI/testing/sysfs-bus-iio|82 +- .../ABI/testing/sysfs-bus-iio-health-afe440x |63 +- .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- Documentation/ABI/testing/sysfs-bus-mcb|29 + Documentation/ABI/testing/sysfs-bus-rbd|29 +- Documentation/ABI/testing/sysfs-class-cxl | 7 +- Documentation/ABI/testing/sysfs-class-led | 3 +- .../ABI/testing/sysfs-class-led-trigger-oneshot|36 + .../ABI/testing/sysfs-class-led-trigger-usbport|12 + Documentation/ABI/testing/sysfs-class-mic.txt | 2 +- .../ABI/testing/sysfs-class-net-batman-adv |20 +- Documentation/ABI/testing/sysfs-class-power| 8 +- Documentation/ABI/testing/sysfs-class-pwm | 9 + Documentation/ABI/testing/sysfs-class-stm |10 + Documentation/ABI/testing/sysfs-devices-system-cpu |10 + .../ABI/testing/sysfs-devices-system-ibm-rtl | 4 +- .../ABI/testing/sysfs-driver-hid-logitech-lg4ff|15 + Documentation/ABI/testing/sysfs-driver-wacom | 5 + Documentation/ABI/testing/sysfs-i2c-bmp085 |31 - Documentation/ABI/testing/sysfs-kernel-irq |53 + .../ABI/testing/sysfs-platform-usbip-vudc |35 + Documentation/Changes | 264 +- Documentation/CodeOfConflict | 2 +- Documentation/CodingStyle | 406 +- Documentation/DMA-API-HOWTO.txt| 8 +- Documentation/DMA-API.txt |55 +- Documentation/DMA-attributes.txt |19 +- Documentation/DocBook/80211.tmpl | 583 - Documentation/DocBook/Makefile |41 +- Documentation/DocBook/crypto-API.tmpl |42 +- Documentation/DocBook/device-drivers.tmpl | 542 - Documentation/DocBook/gpu.tmpl | 3521 Documentation/DocBook/iio.tmpl | 2 +- Documentation/DocBook/kernel-hacking.tmpl | 2 +- Documentation/DocBook/media/.gitignore | 1 - Documentation/DocBook/media/Makefile | 425 - Documentation/DocBook/media/bayer.png.b64 | 171 - Documentation/DocBook/media/constraints.png.b64|59 - Documentation/DocBook/media/crop.gif.b64 | 105 - Documentation/DocBook/media/dvb/.gitignore | 1 - Documentation/DocBook/media/dvb/audio.xml | 1314 -- Documentation/DocBook/media/dvb/ca.xml | 582 - Documentation/DocBook/media/dvb/demux.xml | 1162 -- Documentation/DocBook/media/dvb/dvbapi.xml | 156 - Documentation/DocBook/media/dvb/dvbproperty.xml| 1680 -- Documentation/DocBook/media/dvb/dvbstb.pdf | Bin 1881 -> 0 bytes Documentation/DocBook/media/dvb/examples.xml | 367 - .../media/dvb/fe-diseqc-recv-slave-reply.xml |78 - .../DocBook/media/dvb/fe-diseqc-reset-overload.xml |51 - .../DocBook/media/dvb/fe-diseqc-send-burst.xml |89 - .../media/dvb/fe-diseqc-send-master-cmd.xml|72 - .../media/dvb/fe-enable-high-lnb-voltage.xml |61 - Documentation/DocBook/media/dvb/fe-get-info.xml| 266 - .../DocBook/media/dvb/fe-get-property.xml |81 - Documentation/DocBook/media/dvb/fe-read-status.xml |
GIT: wrapfs-4.7.y -- Linux 2.6.32.64 (push to branch refs/tags/v2.6.32.64)
Push to branch refs/tags/v2.6.32.64: --> 29100e47157c8e1188a28f66bfdae66f243704ca Push to branch refs/tags/v2.6.32.65: --> 4d1f2057a1e85edfafa4042bf54cd32ac3a1de3e Push to branch refs/tags/v2.6.32.66: --> c592edeacc6aeafa82cf2b79d656410bf18b9f5c Push to branch refs/tags/v2.6.32.67: --> 952ac3c7e7ea959fb11e2bd747c7e5d6138e71e6 Push to branch refs/tags/v2.6.32.68: --> 33a0e46a3f3ff71a7677e0359649ae0404c23a80 Push to branch refs/tags/v2.6.32.69: --> 9385380b76cb41c6351d51d1dc1ef2da652cd9c2 Push to branch refs/tags/v2.6.32.70: --> 280afee24d663fa2d85b1de512d2acd3ff874538 Push to branch refs/tags/v2.6.32.71: --> 6ae80a1ec727a73e7acf3f2f2a96af14826e01b3 Push to branch refs/tags/v3.10.100: --> 76ec872015f330dce946ff0a5ad8abf4bde8fd21 Push to branch refs/tags/v3.10.101: --> ed600516082414f55ae0d8bf6c58bcfc4bfa160b Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.10.50: --> 87a079a5956aec7d6b67ea4d789bd7bfec77ead4 Push to branch refs/tags/v3.10.51: --> 057a712e2b13a1c04fbae7ef349027d19a2f81c6 Push to branch refs/tags/v3.10.52: --> 6998fd9712b11074d3fe0d324543c41df1061caf Push to branch refs/tags/v3.10.53: --> 35f64c4e4807a4bd1e81ddc1cccf079bdef45ad9 Push to branch refs/tags/v3.10.54: --> 9517d828983db1d82e4fcb9ab6ac54c438000901 Push to branch refs/tags/v3.10.55: --> fadc22b49ea6c0b53c8dd135ec4e4f38bbdb213b Push to branch refs/tags/v3.10.56: --> 0a7764e8428e0511c70d9348391410da6c368447 Push to branch refs/tags/v3.10.57: --> 1573542d2782f22802b19e3d6c0502241127bfc0 Push to branch refs/tags/v3.10.58: --> fa5fe3e39aac01cd1c76add54e21849d7b7a Push to branch refs/tags/v3.10.59: --> e15c1c07aa2353a88e53e9b5ce1e26e0470eacf6 Push to branch refs/tags/v3.10.60: --> 9591def9f8cecb338402bcccab0d93fa149de477 Push to branch refs/tags/v3.10.61: --> 9219c3aff619cb97d41f5afae4a0d6735bbeb4df Push to branch refs/tags/v3.10.62: --> 1bb8fd8af26fe024519c1eff63601a43e9af9ceb Push to branch refs/tags/v3.10.63: --> 4be88d88cf2f3367ab0cb4b4d5c4f3a43261c07d Push to branch refs/tags/v3.10.64: --> ad2eb577cdee78738dae1c30df9746e00679fec1 Push to branch refs/tags/v3.10.65: --> daf8eb803132fde88c54d02a67d1a8a1436fbf4e Push to branch refs/tags/v3.10.66: --> 5e2152733f354c2ec2aa04e59deb920edae11db3 Push to branch refs/tags/v3.10.67: --> 5dbc8b63ca070f99ab03830f937d62ea0b2ef168 Push to branch refs/tags/v3.10.68: --> c7f7df65b3a57ba46cf1d46e9da14bf2a5db92a3 Push to branch refs/tags/v3.10.69: --> c67479ccb8b8b44c2dda5ca3e6315c9b9a16b4e1 Push to branch refs/tags/v3.10.70: --> 3cd1b212b0fc753a59c5247e3daa43c295026465 Push to branch refs/tags/v3.10.71: --> 3f47996f89a9940afe2ff29b53ad219bf1ffc28f Push to branch refs/tags/v3.10.72: --> 4967734cec88a1d169b4bd15d8386453a8459519 Push to branch refs/tags/v3.10.73: --> 3968db5f2a9a8760fdbf5aebcbdd7692282893de Push to branch refs/tags/v3.10.74: --> 252417435200cca7d6ac33b8be24018100513527 Push to branch refs/tags/v3.10.75: --> 576dabadb02d350e52bf3687e7cb3cca53a0325a Push to branch
GIT: wrapfs-4.6.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 82be55ad861ae44a1d1748a61af02b8ff1d56d53 --> c843f6a022e07cd5a679d7f7c3e8434d17b87108 .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- Documentation/DocBook/gpu.tmpl | 6 + Documentation/cpu-freq/pcc-cpufreq.txt | 4 +- .../devicetree/bindings/clock/imx35-clock.txt | 1 + Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/scsi/scsi_eh.txt | 8 +- Documentation/serial/tty.txt | 3 - Documentation/x86/pat.txt | 32 ++ MAINTAINERS| 9 + Makefile | 9 +- arch/arc/Makefile | 2 - arch/arc/kernel/stacktrace.c | 2 +- arch/arm/boot/dts/armada-385-linksys.dtsi | 10 +- arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 4 +- arch/arm/boot/dts/exynos4210-trats.dts | 2 + arch/arm/boot/dts/sama5d2-pinfunc.h| 4 +- arch/arm/boot/dts/sun4i-a10.dtsi | 2 +- arch/arm/boot/dts/sun5i-r8-chip.dts| 2 +- arch/arm/boot/dts/sun6i-a31s-primo81.dts | 2 - .../dts/sun6i-a31s-yones-toptech-bs1078-v2.dts | 2 - arch/arm/boot/dts/sun7i-a20.dtsi | 5 +- arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 5 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/kvm/arm.c | 1 + arch/arm/kvm/mmu.c | 17 +- arch/arm/mach-imx/mach-imx6ul.c| 2 +- arch/arm/mach-mvebu/coherency.c| 22 +- arch/arm64/include/asm/elf.h | 4 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 - arch/arm64/include/asm/pgtable.h | 25 +- arch/arm64/include/asm/ptrace.h| 2 + arch/arm64/kernel/asm-offsets.c| 1 + arch/arm64/kernel/cpuinfo.c| 11 +- arch/arm64/kernel/entry.S | 19 +- arch/arm64/kernel/traps.c | 26 +- arch/arm64/kvm/hyp/vgic-v3-sr.c| 7 +- arch/arm64/kvm/inject_fault.c | 2 +- arch/arm64/mm/fault.c | 53 +- arch/arm64/mm/flush.c | 4 - arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/asmmacro.h | 40 +- arch/mips/include/asm/cacheflush.h | 6 - arch/mips/include/asm/kvm_host.h | 3 +- arch/mips/include/asm/mips-cm.h| 5 +- arch/mips/include/asm/msa.h| 13 + arch/mips/include/asm/pgtable.h| 26 +- arch/mips/include/asm/switch_to.h | 2 +- arch/mips/include/asm/watch.h | 10 +- arch/mips/include/uapi/asm/siginfo.h | 22 +- arch/mips/kernel/mips-r2-to-r6-emul.c | 105 ++-- arch/mips/kernel/pm.c | 2 +- arch/mips/kernel/process.c | 46 +- arch/mips/kernel/ptrace.c | 27 +- arch/mips/kernel/r4k_fpu.S | 10 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +- arch/mips/kernel/setup.c | 3 + arch/mips/kernel/signal.c | 15 +- arch/mips/kernel/traps.c | 8 +- arch/mips/kernel/watch.c | 5 +- arch/mips/kvm/emulate.c| 89 ++-- arch/mips/kvm/interrupt.h | 1 + arch/mips/kvm/locore.S | 1 + arch/mips/kvm/mips.c | 11 +- arch/mips/kvm/trap_emul.c | 2 +- arch/mips/lib/ashldi3.c| 2 +- arch/mips/lib/ashrdi3.c| 2 +- arch/mips/lib/bswapdi.c| 2 +- arch/mips/lib/bswapsi.c| 2 +- arch/mips/lib/cmpdi2.c | 2 +- arch/mips/lib/lshrdi3.c| 2 +- arch/mips/lib/ucmpdi2.c| 2 +- arch/mips/loongson64/Platform | 2 +- arch/mips/loongson64/loongson-3/numa.c | 6 +- arch/mips/math-emu/cp1emu.c| 8 +- arch/mips/mm/cache.c | 41 +-
GIT: wrapfs-4.5.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.18.46: --> 265d92480a092ae5a59e454dbee5f7801cc23a4d Push to branch refs/tags/v3.2.81:
GIT: wrapfs-4.5.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 830841cd612f56df01b0bc34a5bc05098d75e1b0 --> 514480d3a572d809b2969a4a9131a953db9ba8bf .../devicetree/bindings/clock/imx35-clock.txt | 1 + Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/serial/tty.txt | 3 - MAINTAINERS| 9 + Makefile | 9 +- arch/arm/boot/dts/armada-385-linksys.dtsi | 6 +- arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 4 +- arch/arm/boot/dts/exynos4210-trats.dts | 2 + arch/arm/boot/dts/sama5d2-pinfunc.h| 4 +- arch/arm/boot/dts/sun4i-a10.dtsi | 2 +- arch/arm/boot/dts/sun7i-a20.dtsi | 5 +- arch/arm/kvm/mmu.c | 17 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 - arch/arm64/include/asm/pgtable.h | 25 +- arch/arm64/kernel/cpuinfo.c| 3 +- arch/arm64/kvm/inject_fault.c | 2 +- arch/arm64/mm/fault.c | 50 ++ arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/asmmacro.h | 40 +- arch/mips/include/asm/cacheflush.h | 6 - arch/mips/include/asm/kvm_host.h | 2 +- arch/mips/include/asm/msa.h| 13 + arch/mips/include/asm/pgtable.h| 26 +- arch/mips/include/asm/switch_to.h | 2 +- arch/mips/include/asm/watch.h | 10 +- arch/mips/include/uapi/asm/siginfo.h | 22 +- arch/mips/kernel/mips-r2-to-r6-emul.c | 105 ++-- arch/mips/kernel/pm.c | 2 +- arch/mips/kernel/process.c | 6 +- arch/mips/kernel/ptrace.c | 27 +- arch/mips/kernel/r4k_fpu.S | 10 +- arch/mips/kernel/setup.c | 3 + arch/mips/kernel/signal.c | 15 +- arch/mips/kernel/traps.c | 8 +- arch/mips/kernel/watch.c | 5 +- arch/mips/kvm/emulate.c| 89 ++-- arch/mips/kvm/trap_emul.c | 2 +- arch/mips/lib/ashldi3.c| 2 +- arch/mips/lib/ashrdi3.c| 2 +- arch/mips/lib/bswapdi.c| 2 +- arch/mips/lib/bswapsi.c| 2 +- arch/mips/lib/cmpdi2.c | 2 +- arch/mips/lib/lshrdi3.c| 2 +- arch/mips/lib/ucmpdi2.c| 2 +- arch/mips/loongson64/Platform | 2 +- arch/mips/loongson64/loongson-3/numa.c | 6 +- arch/mips/math-emu/cp1emu.c| 8 +- arch/mips/mm/cache.c | 41 +- arch/mips/vdso/Makefile| 4 +- arch/powerpc/kernel/eeh.c | 2 +- arch/powerpc/kernel/eeh_driver.c | 26 +- arch/powerpc/kernel/exceptions-64s.S | 16 +- arch/x86/kernel/cpu/perf_event_intel_pt.c | 2 + arch/x86/kvm/cpuid.c | 1 + arch/x86/kvm/mtrr.c| 2 - arch/x86/kvm/vmx.c | 2 +- arch/x86/pci/xen.c | 7 +- arch/x86/xen/setup.c | 65 +-- drivers/acpi/device_pm.c | 1 + drivers/acpi/osl.c | 16 +- drivers/base/power/main.c | 5 +- drivers/base/power/runtime.c | 9 +- drivers/bluetooth/hci_vhci.c | 28 +- drivers/char/hw_random/exynos-rng.c| 10 +- drivers/clk/at91/clk-h32mx.c | 2 +- drivers/clk/bcm/clk-bcm2835.c | 62 ++- drivers/clk/imx/clk-imx35.c| 4 +- drivers/clk/qcom/gcc-msm8916.c | 2 + drivers/cpuidle/cpuidle.c | 4 +- drivers/crypto/caam/jr.c | 2 +- drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 10 +- drivers/crypto/talitos.c | 64 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 10 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c| 2 +- drivers/gpu/drm/drm_atomic.c | 2 +- drivers/gpu/drm/drm_fb_helper.c| 5 +- drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 2 +- drivers/gpu/drm/i915/intel_atomic.c| 3 +- drivers/gpu/drm/i915/intel_display.c | 21
GIT: wrapfs-4.4.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.18.46: --> 265d92480a092ae5a59e454dbee5f7801cc23a4d Push to branch refs/tags/v3.2.81:
GIT: wrapfs-4.4.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: a4011c02e74429fb0d76a93f30fec07a828b2d7a --> 3b77ffa97214ee730d45953fa8f001c673dcb4cd .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- .../devicetree/bindings/clock/imx35-clock.txt | 1 + .../bindings/iio/adc/rockchip-saradc.txt | 7 + .../bindings/regulator/qcom,spmi-regulator.txt | 6 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/proc.txt | 9 +- Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 9 +- Documentation/mic/mpssd/mpssd.c| 4 +- Documentation/module-signing.txt | 6 + Documentation/pinctrl.txt | 2 +- Documentation/scsi/scsi_eh.txt | 8 +- Documentation/serial/tty.txt | 3 - Documentation/sysctl/fs.txt| 23 + Documentation/x86/pat.txt | 32 ++ MAINTAINERS| 9 + Makefile | 38 +- arch/alpha/include/asm/uaccess.h | 19 +- arch/arc/Kconfig | 2 +- arch/arc/Makefile | 16 +- arch/arc/include/asm/arcregs.h | 6 - arch/arc/include/asm/delay.h | 9 +- arch/arc/include/asm/entry.h | 4 +- arch/arc/include/asm/irqflags-compact.h| 2 +- arch/arc/include/asm/pgtable.h | 5 +- arch/arc/include/asm/uaccess.h | 11 +- arch/arc/kernel/setup.c| 4 - arch/arc/kernel/signal.c | 8 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/kernel/time.c | 19 +- arch/arc/mm/cache.c| 9 + arch/arm/boot/compressed/head.S| 2 +- arch/arm/boot/dts/armada-385-linksys.dtsi | 10 +- arch/arm/boot/dts/armada-390.dtsi | 3 + arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 4 +- arch/arm/boot/dts/exynos4210-trats.dts | 2 + arch/arm/boot/dts/imx6qdl.dtsi | 2 +- arch/arm/boot/dts/kirkwood-ib62x0.dts | 2 +- arch/arm/boot/dts/omap3-overo-base.dtsi| 4 +- .../boot/dts/omap3-overo-chestnut43-common.dtsi| 2 - arch/arm/boot/dts/omap3-overo-tobi-common.dtsi | 2 - arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi | 3 - arch/arm/boot/dts/qcom-apq8064.dtsi| 76 ++- arch/arm/boot/dts/sama5d2-pinfunc.h| 4 +- arch/arm/boot/dts/stih407-family.dtsi | 10 +- arch/arm/boot/dts/stih410.dtsi | 12 +- arch/arm/boot/dts/sun4i-a10-a1000.dts | 1 + arch/arm/boot/dts/sun4i-a10-hackberry.dts | 1 + arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts | 1 + arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts | 1 + arch/arm/boot/dts/sun5i-a13.dtsi | 2 +- arch/arm/boot/dts/sun5i-r8-chip.dts| 2 +- arch/arm/common/sa.c | 22 +- arch/arm/crypto/aes-ce-glue.c | 2 +- arch/arm/crypto/ghash-ce-glue.c| 24 + arch/arm/include/asm/dma-mapping.h | 2 +- arch/arm/include/asm/floppy.h | 2 +- arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 5 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/devtree.c | 14 +- arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/kvm/arm.c | 2 - arch/arm/kvm/mmu.c | 18 +- arch/arm/mach-imx/mach-imx6ul.c| 2 +- arch/arm/mach-imx/pm-imx6.c| 4 +- arch/arm/mach-mvebu/coherency.c| 22 +- .../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 1 + arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/arm/mach-omap2/prcm43xx.h | 1 + arch/arm/mach-pxa/idp.c| 3 +- arch/arm/mach-pxa/pxa_cplds_irqs.c | 24 +- arch/arm/mach-pxa/xcep.c | 3 +- arch/arm/mach-realview/core.c | 3 +- arch/arm/mach-sa1100/clock.c | 5 +- arch/arm/mach-sa1100/generic.c | 4 + arch/arm/mach-sa1100/generic.h | 2 + arch/arm/mach-sa1100/pleb.c| 2 +- arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c | 62 +--
GIT: wrapfs-4.1.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.18.46: --> 265d92480a092ae5a59e454dbee5f7801cc23a4d Push to branch refs/tags/v3.2.81:
GIT: wrapfs-3.18.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 015181d2de29478a7674ab6239475071e71165b4 --> bfe9e2aad623b7bc8597bd09f13d7d657db108b3 .mailmap | 1 + CREDITS| 1 + Documentation/arm/CCN.txt | 2 +- .../devicetree/bindings/ata/ahci-platform.txt | 4 + .../devicetree/bindings/crypto/samsung-sss.txt | 6 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/module-signing.txt | 6 + Documentation/scsi/scsi_eh.txt | 8 +- Documentation/sysctl/fs.txt| 23 + MAINTAINERS| 64 ++- Makefile | 11 +- arch/arc/Makefile | 1 - arch/arc/include/asm/entry.h | 17 +- arch/arc/include/asm/irqflags.h| 2 +- arch/arc/include/asm/uaccess.h | 11 +- arch/arc/include/uapi/asm/elf.h| 11 +- arch/arc/kernel/arcksyms.c | 2 + arch/arc/kernel/asm-offsets.c | 2 + arch/arc/kernel/process.c | 2 +- arch/arc/kernel/setup.c| 6 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/mm/cache_arc700.c | 9 + arch/arm/boot/dts/kirkwood-ib62x0.dts | 2 +- arch/arm/boot/dts/sun4i-a10-a1000.dts | 1 + arch/arm/boot/dts/sun4i-a10-hackberry.dts | 1 + arch/arm/include/asm/dma-mapping.h | 2 +- arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 8 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 73 +-- arch/arm/kvm/arm.c | 3 +- arch/arm/kvm/mmu.c | 18 +- arch/arm/mach-imx/pm-imx6.c| 2 +- arch/arm/mach-mvebu/coherency.c| 22 +- arch/arm/mach-omap2/cpuidle34xx.c | 69 ++- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/arm/mach-s3c64xx/dev-audio.c | 41 +- arch/arm/mach-s3c64xx/include/mach/dma.h | 52 +- arch/arm/mach-socfpga/headsmp.S| 1 + arch/arm/plat-orion/gpio.c | 8 +- arch/arm/plat-samsung/devs.c | 11 +- arch/arm64/crypto/aes-glue.c | 2 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 - arch/arm64/include/asm/pgtable.h | 5 +- arch/arm64/include/asm/spinlock.h | 10 + arch/arm64/kernel/debug-monitors.c | 1 - arch/arm64/kernel/pci.c| 22 - arch/arm64/kernel/smp.c| 1 - arch/arm64/mm/flush.c | 4 - arch/arm64/mm/proc.S | 2 + arch/avr32/include/asm/uaccess.h | 11 +- arch/avr32/kernel/avr32_ksyms.c| 2 +- arch/avr32/lib/copy_user.S | 8 +- arch/blackfin/include/asm/uaccess.h| 9 +- arch/frv/include/asm/uaccess.h | 12 +- arch/hexagon/include/asm/cacheflush.h | 36 +- arch/hexagon/include/asm/io.h | 5 - arch/hexagon/include/asm/uaccess.h | 3 +- arch/hexagon/kernel/setup.c| 1 + arch/hexagon/mm/cache.c| 10 + arch/hexagon/mm/ioremap.c | 1 + arch/ia64/include/asm/uaccess.h| 20 +- arch/m32r/include/asm/uaccess.h| 2 +- arch/metag/include/asm/cmpxchg_lnkget.h| 2 +- arch/metag/include/asm/uaccess.h | 3 +- arch/microblaze/include/asm/uaccess.h | 11 +- arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/asmmacro.h | 1 + arch/mips/include/asm/kvm_host.h | 3 +- .../include/asm/mach-paravirt/kernel-entry-init.h | 2 + arch/mips/include/asm/msa.h| 13 + arch/mips/include/asm/pgtable.h| 3 +- arch/mips/include/asm/processor.h | 2 +- arch/mips/include/asm/uaccess.h| 3 + arch/mips/include/uapi/asm/siginfo.h | 18 +- arch/mips/kernel/process.c | 2 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +-
GIT: wrapfs-3.16.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.16.y -- Wrapfs: inode_change_ok renamed setattr_prepare (push to branch refs/heads/master)
Push to branch refs/heads/master: 1600ae7af21b260239da2f7c8b820235b6e3 --> c381cb3ea64cbf1eef0a097056f3363d789fbfa8 .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/porting | 4 +- Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 2 + Documentation/module-signing.txt | 6 + Documentation/scsi/scsi_eh.txt | 8 +- Documentation/serial/driver| 2 +- MAINTAINERS| 13 +- Makefile | 9 +- arch/alpha/include/asm/uaccess.h | 19 +- arch/alpha/kernel/pci-sysfs.c | 4 +- arch/arc/Makefile | 2 - arch/arc/include/asm/atomic.h | 2 +- arch/arc/include/asm/irqflags.h| 2 +- arch/arc/include/asm/uaccess.h | 11 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/mm/tlbex.S| 6 +- arch/arm/boot/compressed/head.S| 2 +- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/exynos4210-trats.dts | 2 + arch/arm/boot/dts/kirkwood-ib62x0.dts | 2 +- arch/arm/common/sa.c | 22 +- arch/arm/include/asm/dma-mapping.h | 2 +- arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 8 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/kvm/arm.c | 3 +- arch/arm/kvm/mmu.c | 18 +- arch/arm/mach-mvebu/coherency.c| 22 +- arch/arm/mach-omap2/gpmc.c | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 24 +- .../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 1 + arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/arm/mach-omap2/prcm43xx.h | 1 + arch/arm/mach-sa1100/generic.c | 3 + arch/arm/mach-socfpga/headsmp.S| 1 + arch/arm/mm/dma-mapping.c | 59 ++- arch/arm64/crypto/aes-glue.c | 2 +- arch/arm64/include/asm/elf.h | 5 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 - arch/arm64/include/asm/pgtable.h | 4 +- arch/arm64/include/asm/spinlock.h | 10 + arch/arm64/include/uapi/asm/auxvec.h | 2 + arch/arm64/kernel/Makefile | 3 +- arch/arm64/kernel/debug-monitors.c | 1 - arch/arm64/kernel/head.S | 5 + arch/arm64/kernel/perf_event.c | 21 +- arch/arm64/kernel/psci-call.S | 28 + arch/arm64/kernel/psci.c | 37 +- arch/arm64/kernel/setup.c | 11 +- arch/arm64/kernel/smp.c| 1 - arch/arm64/mm/flush.c | 4 - arch/arm64/mm/proc-macros.S| 12 + arch/arm64/mm/proc.S | 6 +- arch/avr32/include/asm/uaccess.h | 11 +- arch/avr32/kernel/avr32_ksyms.c| 2 +- arch/avr32/lib/copy_user.S | 8 +- arch/avr32/mach-at32ap/pio.c | 2 +- arch/blackfin/include/asm/uaccess.h| 9 +- arch/cris/include/asm/uaccess.h| 71 ++- arch/frv/include/asm/uaccess.h | 12 +- arch/hexagon/include/asm/uaccess.h | 3 +- arch/ia64/include/asm/uaccess.h| 20 +- arch/m32r/include/asm/uaccess.h| 2 +- arch/metag/include/asm/cmpxchg_lnkget.h| 2 +- arch/metag/include/asm/uaccess.h | 3 +- arch/microblaze/include/asm/uaccess.h | 11 +- arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/cacheflush.h | 38 +- arch/mips/include/asm/kvm_host.h | 2 +- .../include/asm/mach-paravirt/kernel-entry-init.h | 2 + arch/mips/include/asm/msa.h| 8 +- arch/mips/include/asm/pgtable.h| 51 +- arch/mips/include/asm/r4kcache.h | 4 + arch/mips/include/asm/uaccess.h| 3 + arch/mips/include/uapi/asm/siginfo.h | 18 +- arch/mips/kernel/bmips_vec.S | 9 +-
GIT: wrapfs-3.14.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.12.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.12.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 400c38cfb4d60fd0f3c702fdf288b64aa3853085 --> cf8db2b9de798ecea00147567c171d0f06455bec Documentation/filesystems/00-INDEX | 2 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/scsi/scsi_eh.txt | 8 +- MAINTAINERS| 13 +- Makefile | 29 +- arch/alpha/include/asm/uaccess.h | 19 +- arch/arc/include/asm/uaccess.h | 11 +- arch/arc/kernel/signal.c | 9 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/mm/tlbex.S| 6 +- arch/arm/boot/compressed/head.S| 2 +- arch/arm/common/sa.c | 22 +- arch/arm/include/asm/floppy.h | 2 +- arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 8 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/devtree.c | 14 +- arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/kvm/arm.c | 2 - arch/arm/kvm/mmu.c | 1 + arch/arm/mach-omap2/cpuidle34xx.c | 69 ++- arch/arm/mach-omap2/omap_hwmod.c | 8 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/arm/mach-omap2/sleep34xx.S| 22 +- arch/arm/mach-sa1100/generic.c | 3 + arch/arm/mach-socfpga/headsmp.S| 1 + arch/arm64/include/asm/elf.h | 1 + arch/arm64/include/asm/spinlock.h | 10 + arch/arm64/include/uapi/asm/auxvec.h | 2 + arch/arm64/kernel/debug-monitors.c | 6 +- arch/avr32/include/asm/uaccess.h | 11 +- arch/avr32/kernel/avr32_ksyms.c| 2 +- arch/avr32/lib/copy_user.S | 8 +- arch/avr32/mach-at32ap/pio.c | 2 +- arch/blackfin/include/asm/uaccess.h| 9 +- arch/cris/include/asm/Kbuild | 4 - arch/cris/include/asm/uaccess.h| 71 ++- arch/cris/include/uapi/asm/Kbuild | 4 +- arch/frv/include/asm/uaccess.h | 12 +- arch/hexagon/include/asm/uaccess.h | 3 +- arch/ia64/include/asm/uaccess.h| 20 +- arch/m32r/include/asm/uaccess.h| 2 +- arch/metag/include/asm/atomic.h| 3 +- arch/metag/include/asm/cmpxchg_lnkget.h| 2 +- arch/metag/include/asm/uaccess.h | 3 +- arch/microblaze/include/asm/uaccess.h | 11 +- arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/kvm_host.h | 8 +- arch/mips/include/asm/processor.h | 2 +- arch/mips/include/asm/ptrace.h | 2 +- arch/mips/include/asm/uaccess.h| 3 + arch/mips/include/uapi/asm/siginfo.h | 18 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +- arch/mips/kvm/kvm_locore.S | 1 + arch/mips/kvm/kvm_mips.c | 11 +- arch/mips/kvm/kvm_mips_emul.c | 133 +++-- arch/mips/kvm/kvm_mips_int.h | 2 + arch/mips/kvm/kvm_tlb.c| 63 ++- arch/mips/math-emu/cp1emu.c| 8 +- arch/mips/mm/init.c| 1 + arch/mips/mti-malta/malta-setup.c | 8 +- arch/mn10300/include/asm/uaccess.h | 1 + arch/mn10300/lib/usercopy.c| 4 +- arch/openrisc/include/asm/uaccess.h| 35 +- arch/parisc/include/asm/uaccess.h | 7 +- arch/parisc/include/uapi/asm/errno.h | 4 +- arch/parisc/kernel/syscall.S | 11 +- arch/parisc/kernel/unaligned.c | 10 +- arch/powerpc/include/asm/reg.h | 7 +- arch/powerpc/include/asm/uaccess.h | 21 +- arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/eeh_driver.c | 8 + arch/powerpc/kernel/exceptions-64s.S | 16 +- arch/powerpc/kernel/nvram_64.c | 6 +- arch/powerpc/kernel/prom.c | 2 +- arch/powerpc/kernel/prom_init.c| 32 +- arch/powerpc/kernel/ptrace.c | 4 +- arch/powerpc/kernel/vdso64/datapage.S | 2 +-
GIT: wrapfs-3.10.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.10.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 238c25e79a2abe15c581b44bbb670c837efff705 --> 46eafb06eb590da94e88252ee6405ea62b2943f4 Documentation/filesystems/00-INDEX| 2 + Documentation/filesystems/wrapfs.txt | 172 +++ Documentation/scsi/scsi_eh.txt| 8 +- Documentation/sysctl/fs.txt | 23 + MAINTAINERS | 13 +- Makefile | 2 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/mm/tlbex.S | 4 +- arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/mach-omap2/cpuidle34xx.c | 69 ++- arch/arm/mach-omap2/sleep34xx.S | 22 +- arch/arm/mach-socfpga/headsmp.S | 1 + arch/metag/include/asm/cmpxchg_lnkget.h | 2 +- arch/mips/ath79/early_printk.c| 6 +- arch/mips/include/asm/kvm_host.h | 1 + arch/mips/include/asm/processor.h | 2 +- arch/mips/include/uapi/asm/siginfo.h | 18 +- arch/mips/kernel/scall64-n32.S| 2 +- arch/mips/kernel/scall64-o32.S| 2 +- arch/mips/kvm/kvm_locore.S| 1 + arch/mips/kvm/kvm_mips.c | 11 +- arch/mips/kvm/kvm_mips_emul.c | 33 +- arch/mips/kvm/kvm_mips_int.h | 2 + arch/mips/kvm/kvm_tlb.c | 63 ++- arch/mips/math-emu/cp1emu.c | 8 +- arch/parisc/kernel/parisc_ksyms.c | 10 +- arch/parisc/kernel/traps.c| 3 + arch/parisc/kernel/unaligned.c| 10 +- arch/powerpc/include/asm/reg.h| 6 +- arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/exceptions-64s.S | 16 +- arch/powerpc/kernel/prom.c| 2 +- arch/powerpc/platforms/pseries/eeh_pseries.c | 51 +- arch/powerpc/platforms/pseries/iommu.c| 24 +- arch/s390/include/asm/syscall.h | 2 +- arch/x86/boot/Makefile| 3 + arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/include/asm/mmu_context.h| 33 +- arch/x86/include/asm/xen/hypervisor.h | 2 + arch/x86/include/uapi/asm/processor-flags.h | 154 -- arch/x86/kernel/amd_nb.c | 4 +- arch/x86/kernel/apm_32.c | 2 +- arch/x86/kernel/cpu/perf_event.h | 2 + arch/x86/kernel/cpu/perf_event_intel.c| 13 +- arch/x86/kernel/cpu/perf_event_intel_ds.c | 11 +- arch/x86/kernel/ioport.c | 12 +- arch/x86/kernel/kprobes/core.c| 12 + arch/x86/kernel/process_64.c | 12 + arch/x86/kvm/i8254.c | 12 +- arch/x86/kvm/x86.c| 7 +- arch/x86/mm/tlb.c | 24 +- arch/x86/xen/enlighten.c | 2 +- arch/xtensa/kernel/head.S | 2 +- arch/xtensa/platforms/iss/console.c | 10 +- block/genhd.c | 1 + crypto/ahash.c| 3 +- crypto/gcm.c | 7 +- crypto/scatterwalk.c | 3 +- drivers/acpi/acpica/dsmethod.c| 3 + drivers/acpi/pci_root.c | 67 +-- drivers/acpi/sysfs.c | 7 +- drivers/ata/libata-eh.c | 2 +- drivers/base/module.c | 8 +- drivers/block/nbd.c | 4 +- drivers/block/paride/pd.c | 4 +- drivers/block/paride/pt.c | 4 +- drivers/bluetooth/hci_vhci.c | 1 + drivers/clk/versatile/clk-sp810.c | 4 +- drivers/crypto/nx/nx.c| 2 +- drivers/crypto/ux500/hash/hash_core.c | 4 +- drivers/edac/amd64_edac.c | 2 +- drivers/edac/i7core_edac.c| 2 +- drivers/edac/sb_edac.c| 2 +- drivers/firmware/efi/vars.c | 37 +- drivers/gpio/gpio-pca953x.c | 2 +- drivers/gpu/drm/drm_fb_helper.c | 5 +- drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 2 +- drivers/gpu/drm/radeon/atombios_encoders.c| 6 +- drivers/gpu/drm/radeon/radeon_atombios.c | 4 +- drivers/gpu/drm/radeon/radeon_atpx_handler.c | 5 +
GIT: wrapfs-3.4.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.4.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 64f90251ae7069065d0b50775f97a74f6913bb81 --> 25f8c2313948296727d1ff5677d11de4c137eccf Documentation/filesystems/00-INDEX| 2 + Documentation/filesystems/wrapfs.txt | 172 + MAINTAINERS | 9 + Makefile | 2 +- arch/arm/mach-pxa/include/mach/pxa27x.h | 2 +- arch/arm/mach-pxa/pxa27x.c| 2 +- arch/arm/mm/proc-v7.S | 4 +- arch/mips/include/asm/atomic.h| 2 +- arch/parisc/kernel/signal.c | 67 +++- arch/x86/kernel/head_64.S | 8 + arch/x86/kernel/signal.c | 17 +- arch/x86/kernel/verify_cpu.S | 12 +- block/partitions/mac.c| 10 +- crypto/ablkcipher.c | 2 +- crypto/algif_hash.c | 12 +- crypto/blkcipher.c| 2 +- drivers/acpi/osl.c| 9 +- drivers/ata/libahci.c | 9 + drivers/ata/sata_sil.c| 3 + drivers/block/xen-blkback/common.h| 8 +- drivers/bluetooth/ath3k.c | 2 + drivers/bluetooth/btusb.c | 1 + drivers/firewire/ohci.c | 5 + drivers/gpu/drm/radeon/radeon_irq_kms.c | 5 + drivers/gpu/vga/vgaarb.c | 6 +- drivers/hid/hid-core.c| 2 +- drivers/iommu/intel-iommu.c | 7 +- drivers/isdn/gigaset/ser-gigaset.c| 10 +- drivers/isdn/hardware/mISDN/mISDNipac.c | 7 +- drivers/md/dm-mpath.c | 7 +- drivers/md/persistent-data/dm-btree.c | 20 +- drivers/md/raid1.c| 3 - drivers/mtd/mtdpart.c | 4 +- drivers/net/can/sja1000/sja1000.c | 3 + drivers/net/ethernet/renesas/sh_eth.c | 3 +- drivers/net/macvlan.c | 2 + drivers/net/phy/broadcom.c| 2 +- drivers/net/wan/x25_asy.c | 6 +- drivers/net/wireless/mwifiex/debugfs.c| 14 +- drivers/net/xen-netback/netback.c | 34 +- drivers/parisc/iommu-helpers.h| 15 +- drivers/power/wm831x_power.c | 6 +- drivers/scsi/megaraid/megaraid_sas.h | 2 + drivers/scsi/megaraid/megaraid_sas_base.c | 15 +- drivers/scsi/scsi_sysfs.c | 18 +- drivers/scsi/ses.c| 30 +- drivers/spi/spi.c | 2 +- drivers/staging/iio/adc/lpc32xx_adc.c | 4 +- drivers/staging/rtl8712/usb_intf.c| 1 + drivers/tty/tty_buffer.c | 3 +- drivers/usb/class/usblp.c | 2 +- drivers/usb/core/hub.c| 29 +- drivers/usb/core/otg_whitelist.h | 5 - drivers/usb/core/quirks.c | 8 - drivers/usb/host/whci/qset.c | 4 + drivers/usb/host/xhci.c | 8 + drivers/usb/musb/musb_core.c | 10 +- drivers/usb/serial/cp210x.c | 1 - drivers/usb/serial/ipaq.c | 3 +- drivers/usb/serial/option.c | 11 + drivers/usb/serial/ti_usb_3410_5052.c | 4 +- drivers/xen/xen-pciback/pciback.h | 1 + drivers/xen/xen-pciback/pciback_ops.c | 79 +++- fs/9p/vfs_inode.c | 4 +- fs/Kconfig| 1 + fs/Makefile | 1 + fs/binfmt_elf.c | 10 +- fs/btrfs/inode.c | 10 +- fs/cachefiles/rdwr.c | 78 ++-- fs/ext4/ext4.h| 51 ++- fs/ext4/super.c | 12 +- fs/fscache/netfs.c| 34 +- fs/fscache/page.c | 2 +- fs/fuse/file.c| 2 +- fs/jbd2/journal.c | 6 +- fs/jbd2/transaction.c | 2 + fs/nfs/inode.c| 6 +- fs/ocfs2/resize.c | 15 +- fs/splice.c | 8 + fs/sysv/inode.c | 10 +- fs/wrapfs/Kconfig | 9 + fs/wrapfs/Makefile| 7 + fs/wrapfs/dentry.c| 52 +++ fs/wrapfs/file.c | 377 ++ fs/wrapfs/inode.c | 623 ++ fs/wrapfs/lookup.c| 325 fs/wrapfs/main.c | 175 + fs/wrapfs/mmap.c | 94 + fs/wrapfs/super.c | 208 ++ fs/wrapfs/wrapfs.h| 208 ++ include/linux/acpi.h | 6 + include/linux/enclosure.h | 4 + include/linux/jbd2.h
GIT: wrapfs-3.2.y -- Linux 3.10.102 (push to branch refs/tags/v3.10.102)
Push to branch refs/tags/v3.10.102: --> 2f576ef339ff99b49dc806c94d7665f0739b8311 Push to branch refs/tags/v3.10.103: --> 977ffef4e66000bb509bf3f8b493a67e6b43b0f2 Push to branch refs/tags/v3.10.104: --> cd08873a7bbbd06c36c733b1f46a06c13013b9b0 Push to branch refs/tags/v3.12.60: --> a4d58c2a759913de8f8ec0caff01c0897ca64a92 Push to branch refs/tags/v3.12.61: --> f315b16967460df5299085023085a0f779ddd9d4 Push to branch refs/tags/v3.12.62: --> ae364577a118efeb8c11b4b2cfec291be02cb6f8 Push to branch refs/tags/v3.12.63: --> 37c6a765e808f4342b2d675f5ca83ea216477deb Push to branch refs/tags/v3.12.64: --> 89fa9397fb1c9686fd3f8f95e16f833abca1a7ee Push to branch refs/tags/v3.12.65: --> 2c9865144a9a3c89f50cf3c820964bf12b33e0c8 Push to branch refs/tags/v3.12.66: --> 56fc049385e7b09f982d0ef1f6a772624529c74b Push to branch refs/tags/v3.12.67: --> e610ed600f5a2b2c3884558a2f1bd7caf1401be7 Push to branch refs/tags/v3.12.68: --> 371fd22432bc7f2df4a85663d91e165fe8118231 Push to branch refs/tags/v3.12.69: --> e402c2f0daf6579a854ba0bdff8f2c79fdf089fc Push to branch refs/tags/v3.14.71: --> 24004af503b0d11fe4dc039d80f459d80378c0ef Push to branch refs/tags/v3.14.72: --> 982d63da734ad4b1f0947ff0ca708d95c4d3d527 Push to branch refs/tags/v3.14.73: --> 4e45be7fa864be8ffe24c23450d426bc36cbbf3e Push to branch refs/tags/v3.14.74: --> 271651a5eb0f03210cf4ffc2b6a8853b9f27c604 Push to branch refs/tags/v3.14.75: --> 17388a969af0f8abe39105b3cdcab7796c19d805 Push to branch refs/tags/v3.14.76: --> cf09e00c0bab286298d6c06ac94ee36d50946d5c Push to branch refs/tags/v3.14.77: --> 092aa6bc7a8f08b1fd791f6cbed4d4e062d15db1 Push to branch refs/tags/v3.14.78: --> 1e8fac878894426bb356908caca3ddc88179d10f Push to branch refs/tags/v3.14.79: --> ba23b989598b856f52cb0e10747727641159371d Push to branch refs/tags/v3.16.36: --> d728e5ea3d9f38e6882d39b03535ef88e374f11a Push to branch refs/tags/v3.16.37: --> 74228af21cf0e0aea2a979dbcf0c907562401dac Push to branch refs/tags/v3.16.38: --> a5047f9e55a18649245d67440cd9cc4a5e1e54fc Push to branch refs/tags/v3.16.39: --> 38c6104abb771a9a17eb591ba26def27fa86ab8c Push to branch refs/tags/v3.18.34: --> e1f8ad3403eadd41027ddd4cd19bebbc3d0d7fca Push to branch refs/tags/v3.18.35: --> 437dd510cb6511de951a415ab0554ca3a6355f69 Push to branch refs/tags/v3.18.36: --> 1c0071ae7c0cf979f17481bfeb5eeaa71ef63057 Push to branch refs/tags/v3.18.37: --> fbdfb6ef0ba0bee5c888e18dd1594a9df08a63af Push to branch refs/tags/v3.18.38: --> da1ba8dd6336f1439cfc80d88470e12e90d08e45 Push to branch refs/tags/v3.18.39: --> d989018d6bd67a902a932010e60963c550b0039e Push to branch refs/tags/v3.18.40: --> fe3a15b003c825b978c00b49265811215fae0e3d Push to branch refs/tags/v3.18.41: --> 6fa1dc8355788241ce35bcd5e8491c9159729a6b Push to branch refs/tags/v3.18.42: --> 07d27fbbfcaf2232f32e1d037e3d17df41159ce2 Push to branch refs/tags/v3.18.43: --> 00faee6d94d4f28425d2a9f77fd433ee4c5207c0 Push to branch refs/tags/v3.18.44: --> 416eaf9e2b036cdb99e38f77a8d9737aaa414c2a Push to branch refs/tags/v3.18.45: --> bde7c1f5d7aa5e151912322da091103d0f283eed Push to branch refs/tags/v3.2.81: --> 1129d9dbb01dfbaf53bff7609805ae6a54b99b2b Push to branch refs/tags/v3.2.82:
GIT: wrapfs-3.2.y -- Wrapfs: inode_change_ok renamed setattr_prepare (push to branch refs/heads/master)
Push to branch refs/heads/master: 2bc06916edd369639cd3e7b4981ed2f6a2d11fb6 --> c9bfc3b0c85dc9ccdb7652197b71bd6fdc9d Documentation/filesystems/00-INDEX | 2 + Documentation/filesystems/porting | 4 +- Documentation/filesystems/wrapfs.txt| 172 +++ Documentation/kernel-parameters.txt | 2 + MAINTAINERS | 9 + Makefile| 4 +- arch/alpha/include/asm/uaccess.h| 19 +- arch/alpha/kernel/pci-sysfs.c | 4 +- arch/arm/common/sa.c| 22 +- arch/arm/kernel/ptrace.c| 2 +- arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/avr32/include/asm/uaccess.h| 11 +- arch/avr32/kernel/avr32_ksyms.c | 2 +- arch/avr32/lib/copy_user.S | 8 +- arch/avr32/mach-at32ap/pio.c| 2 +- arch/blackfin/include/asm/uaccess.h | 9 +- arch/cris/include/asm/uaccess.h | 71 ++- arch/frv/include/asm/uaccess.h | 12 +- arch/hexagon/include/asm/uaccess.h | 3 +- arch/ia64/include/asm/uaccess.h | 20 +- arch/m32r/include/asm/uaccess.h | 2 +- arch/microblaze/include/asm/uaccess.h | 11 +- arch/mips/include/asm/pgtable.h | 45 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +- arch/mips/mm/sc-rm7k.c | 2 +- arch/mn10300/include/asm/uaccess.h | 1 + arch/mn10300/lib/usercopy.c | 5 +- arch/openrisc/include/asm/uaccess.h | 35 +- arch/parisc/include/asm/errno.h | 4 +- arch/parisc/include/asm/uaccess.h | 7 +- arch/parisc/kernel/syscall.S| 2 +- arch/parisc/kernel/unaligned.c | 10 +- arch/powerpc/include/asm/cputable.h | 1 + arch/powerpc/include/asm/uaccess.h | 21 +- arch/powerpc/kernel/prom.c | 2 +- arch/powerpc/mm/hash_utils_64.c | 29 +- arch/powerpc/mm/numa.c | 18 +- arch/s390/include/asm/auxvec.h | 2 + arch/s390/include/asm/elf.h | 1 + arch/s390/include/asm/hugetlb.h | 1 + arch/s390/include/asm/uaccess.h | 8 +- arch/score/include/asm/uaccess.h| 46 +- arch/sh/include/asm/uaccess.h | 5 +- arch/sh/include/asm/uaccess_64.h| 1 + arch/sparc/include/asm/uaccess_32.h | 4 +- arch/x86/boot/Makefile | 3 + arch/x86/ia32/ia32entry.S | 2 +- arch/x86/include/asm/hugetlb.h | 1 + arch/x86/include/asm/microcode.h| 1 + arch/x86/include/asm/tlbflush.h | 7 + arch/x86/include/asm/uaccess_64.h | 24 +- arch/x86/kernel/amd_nb.c| 4 +- arch/x86/kernel/apic/apic.c | 3 + arch/x86/kernel/early-quirks.c | 106 +++- arch/x86/kernel/kprobes.c | 12 + arch/x86/kernel/microcode_amd.c | 54 +- arch/x86/kernel/paravirt.c | 4 +- arch/x86/kvm/vmx.c | 62 ++- arch/x86/kvm/x86.c | 15 +- arch/x86/pci/fixup.c| 7 + block/genhd.c | 1 + crypto/ahash.c | 3 +- crypto/blkcipher.c | 3 +- crypto/cryptd.c | 9 +- crypto/gcm.c| 26 +- crypto/scatterwalk.c| 3 +- drivers/acpi/acpica/dsmethod.c | 3 + drivers/acpi/sysfs.c| 7 +- drivers/ata/libahci.c | 1 + drivers/ata/sata_dwc_460ex.c| 4 +- drivers/base/isa.c | 2 +- drivers/base/module.c | 8 +- drivers/base/regmap/regcache.c | 2 +- drivers/bcma/bcma_private.h | 2 - drivers/bluetooth/ath3k.c | 4 + drivers/bluetooth/btusb.c | 2 + drivers/char/Kconfig| 1 - drivers/char/i8k.c | 18 +- drivers/char/ipmi/ipmi_si_intf.c| 2 +- drivers/char/tpm/tpm_tis.c | 9 +- drivers/crypto/s5p-sss.c| 61 ++- drivers/edac/i7core_edac.c | 2 +-
GIT: wrapfs-latest -- Wrapfs: use new prototype for ->getxattr (push to branch refs/heads/master)
Push to branch refs/heads/master: e1629d43f793fd7be672869f6a0bb6fe13f29821 --> 3eb14f4a4dcc59b6d94724feb31e72e571e83d3c fs/wrapfs/inode.c | 8 +--- fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/mmap.c | 3 +-- fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 6 files changed, 88 insertions(+), 22 deletions(-) commit 3eb14f4a4dcc59b6d94724feb31e72e571e83d3c Author: Erez ZadokDate: Sat May 21 23:46:41 2016 -0400 Wrapfs: use new prototype for ->getxattr Signed-off-by: Erez Zadok commit c5ef8b28958779af8be1254e0c25b87b898e2cc0 Author: Erez Zadok Date: Sat May 21 23:34:10 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 9671770ff8b9e3e0ff4a1f78b86d9bdd71c7968b Author: Erez Zadok Date: Sat May 21 23:34:10 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok commit 0a7668834ecdaca117dac476b2c608c0689158e4 Author: Erez Zadok Date: Sat May 21 23:33:44 2016 -0400 Wrapfs: use new ->direct_IO prototype Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c index ce180b8..1fb153f 100644 --- a/fs/wrapfs/inode.c +++ b/fs/wrapfs/inode.c @@ -475,16 +475,18 @@ out: } static ssize_t -wrapfs_getxattr(struct dentry *dentry, const char *name, void *buffer, - size_t size) +wrapfs_getxattr(struct dentry *dentry, struct inode *inode, + const char *name, void *buffer, size_t size) { int err; struct dentry *lower_dentry; + struct inode *lower_inode; struct path lower_path; wrapfs_get_lower_path(dentry, _path); lower_dentry = lower_path.dentry; - if (!d_inode(lower_dentry)->i_op->getxattr) { + lower_inode = wrapfs_lower_inode(inode); + if (!lower_inode->i_op->getxattr) { err = -EOPNOTSUPP; goto out; } diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry
GIT: wrapfs-4.6.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 09b3c207f56691171ed00cc73e9d28a752bd7f93 --> 82be55ad861ae44a1d1748a61af02b8ff1d56d53 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 82be55ad861ae44a1d1748a61af02b8ff1d56d53 Author: Erez ZadokDate: Sat May 21 23:33:35 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 3b39cb251d7cba5d261561b3d3ebc1f71caa440c Author: Erez Zadok Date: Sat May 21 22:04:02 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.5.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: a3f6710fea8896342ec5a5138b1d6cb15876120a --> 830841cd612f56df01b0bc34a5bc05098d75e1b0 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 830841cd612f56df01b0bc34a5bc05098d75e1b0 Author: Erez ZadokDate: Sat May 21 23:53:00 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit a2d2adb76dea427067169b93bf35b79eed409507 Author: Erez Zadok Date: Sat May 21 23:53:00 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.4.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 6f6617d59f8add0b5d16e197364677d221b3ae6a --> a4011c02e74429fb0d76a93f30fec07a828b2d7a fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit a4011c02e74429fb0d76a93f30fec07a828b2d7a Author: Erez ZadokDate: Sat May 21 23:53:51 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit e996d49e1dfcfa43a2b47d19b5de0890b2320ffd Author: Erez Zadok Date: Sat May 21 23:53:51 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.2.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 9ed927c8c9bfb5b7f0ca0307c4bf1756cd5f0306 --> 0495fe27a1b950d5d1cefb2d7ec962d666fc8f45 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 0495fe27a1b950d5d1cefb2d7ec962d666fc8f45 Author: Erez ZadokDate: Sat May 21 23:57:00 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit e2e0d502f658f043d4fb152c4b4ae17c25b2a939 Author: Erez Zadok Date: Sat May 21 23:57:00 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.3.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: ddabc09725962d2140cb66cd00395d69ac885846 --> d5149377b24df0a06c077e2d2026ce810dc75128 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit d5149377b24df0a06c077e2d2026ce810dc75128 Author: Erez ZadokDate: Sat May 21 23:55:26 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit be30ddf9a821c6a84c16987b8e09f184f0cdcce4 Author: Erez Zadok Date: Sat May 21 23:55:26 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.1.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 3eee5116d9afc04d6333ef63da493ee285e89303 --> b4b6377c16ef0efae2b3915713ffaed8743a7423 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit b4b6377c16ef0efae2b3915713ffaed8743a7423 Author: Erez ZadokDate: Sat May 21 23:59:03 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 94bd1440a72ceda560735e3664b3c9cfcb0b99f4 Author: Erez Zadok Date: Sat May 21 23:59:03 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 71b2783..eae79ba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = d_inode(lower_path->dentry); lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-4.0.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: a7bcfa3f5ddf0177576ffdf9980775677ce0ac07 --> 7cf6d8aeeeccc710abfdb0e49c9360fd4ba88221 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 7cf6d8aeeeccc710abfdb0e49c9360fd4ba88221 Author: Erez ZadokDate: Sun May 22 00:32:15 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 42418b60a66bfab77a3c9d323c0b68ca84058500 Author: Erez Zadok Date: Sun May 22 00:32:11 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.18.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 73cedca61b2cf7b62db11c59c7bae2ebcb366f40 --> 015181d2de29478a7674ab6239475071e71165b4 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 015181d2de29478a7674ab6239475071e71165b4 Author: Erez ZadokDate: Sun May 22 00:34:34 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 2fe236b1cdb161d303396e14961317b5aad5be1e Author: Erez Zadok Date: Sun May 22 00:34:34 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.19.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 2d5d120ab66410993c098a3e63274c13e21050eb --> cfd352357ff4e1dc843fc2e6e52c5b249cbe7bb0 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit cfd352357ff4e1dc843fc2e6e52c5b249cbe7bb0 Author: Erez ZadokDate: Sun May 22 00:32:51 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit b5304259729254f4fcd9f82fd2da9138aed030d1 Author: Erez Zadok Date: Sun May 22 00:32:51 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.17.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 9e4a3f2c4e790355337c1a4fb38c6555f6a7038f --> 5b36fe8bc3d8dcd01db6d2973dab444a1bec4389 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 5b36fe8bc3d8dcd01db6d2973dab444a1bec4389 Author: Erez ZadokDate: Sun May 22 00:36:19 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit fe0b22a41fd9eb26886945b98d8abc4bb5c1e5a6 Author: Erez Zadok Date: Sun May 22 00:36:19 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.14.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 23ea8390af12848f921a25c8b4261d450634ea4b --> fe4a14cf0914b731a225c1f02bc3420bb39b4a43 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit fe4a14cf0914b731a225c1f02bc3420bb39b4a43 Author: Erez ZadokDate: Sun May 22 00:41:20 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit af6c1249c1e44565c47d054892d88efaafb357d5 Author: Erez Zadok Date: Sun May 22 00:41:20 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.15.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 6cef2ae18a656b4333a7f2d996dde7bab2924c11 --> 34e5c366f86ac0e0da8cc42b07df99bdbc6b8703 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 34e5c366f86ac0e0da8cc42b07df99bdbc6b8703 Author: Erez ZadokDate: Sun May 22 00:39:43 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit efb27499d4a177cdf0342c9a92c27381fb4cfdbe Author: Erez Zadok Date: Sun May 22 00:39:43 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.13.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 35f252f2486078162a3f4a17602b63875c430a0c --> 25c3dece11ca63724dca3c5c9356a5afe644dd9c fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 25c3dece11ca63724dca3c5c9356a5afe644dd9c Author: Erez ZadokDate: Sun May 22 00:42:48 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 61f9cfea87fc743cbd1c88b34eab6c18072a83fa Author: Erez Zadok Date: Sun May 22 00:42:48 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 22f23b8..20b3037 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -203,6 +217,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -223,9 +238,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -261,11 +280,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.11.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: f77d2e92a9722eaf21c3f9d44528ad25b5d1ad8f --> 22d1104b710f702793a4036fcbf5e8b5199630fb fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 22d1104b710f702793a4036fcbf5e8b5199630fb Author: Erez ZadokDate: Sun May 22 00:45:40 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 0870d123235775c5afe61f96dab8d07ef3b87035 Author: Erez Zadok Date: Sun May 22 00:45:40 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.12.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: cf140e07540f23e229f53622dec7f00550324cf9 --> 400c38cfb4d60fd0f3c702fdf288b64aa3853085 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 400c38cfb4d60fd0f3c702fdf288b64aa3853085 Author: Erez ZadokDate: Sun May 22 00:44:14 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit f08f98f97d456f569e170f5e20e515382d4755c3 Author: Erez Zadok Date: Sun May 22 00:44:14 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.10.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 0f8450ff6a546aa9e4284f27da86bd3c36a34596 --> 238c25e79a2abe15c581b44bbb670c837efff705 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 238c25e79a2abe15c581b44bbb670c837efff705 Author: Erez ZadokDate: Sun May 22 00:47:10 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 65536b33ee5f73963f5a739eedfe8711c2f28bf4 Author: Erez Zadok Date: Sun May 22 00:47:10 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.9.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 0d060dcf813a277c0ac92abad83f266bc8706a4e --> 6beb78b5ab0e2994438c04442d8a3a7ebc0ddf72 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 6beb78b5ab0e2994438c04442d8a3a7ebc0ddf72 Author: Erez ZadokDate: Sun May 22 00:48:35 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit f26939a6ed9f1d12e59d2909a5c1084eefe09df3 Author: Erez Zadok Date: Sun May 22 00:48:35 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.8.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 92eb29c41f93770bd76b6f3e9f647a48f4d38c43 --> 9ce64920535765025f09c9c92883e71d2e52dbb7 fs/wrapfs/lookup.c | 56 -- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 ++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 18 deletions(-) commit 9ce64920535765025f09c9c92883e71d2e52dbb7 Author: Erez ZadokDate: Sun May 22 01:13:47 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit e4a00ba639196f4b997b4f96928acf23c9553070 Author: Erez Zadok Date: Sun May 22 01:13:47 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 09d34a0..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,15 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); -// d_splice_alias(inode, dentry); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -232,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -252,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -290,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry
GIT: wrapfs-3.7.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: f9bfe4e8d9e5f721297d41670f59a111c0f00823 --> 59347a3118f1f9d45d790b6ed4864da9b36b4a34 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 59347a3118f1f9d45d790b6ed4864da9b36b4a34 Author: Erez ZadokDate: Sun May 22 01:23:26 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 7ea75f905745f79921b9f5d10a916d630d0e4cc9 Author: Erez Zadok Date: Sun May 22 01:23:26 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.6.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 1be296c1582ffde1a1109e361e9eb52384e19408 --> 0b92d6ffcd75bc50a490282033a271260f4724d0 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 0b92d6ffcd75bc50a490282033a271260f4724d0 Author: Erez ZadokDate: Sun May 22 01:23:47 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit b4424b439542f5b4017f79d89482c9bf0ecff65b Author: Erez Zadok Date: Sun May 22 01:23:47 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index 32824e7..95d2dba 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -172,27 +172,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -204,14 +201,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -231,6 +245,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -251,9 +266,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -289,11 +308,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff --git a/fs/wrapfs/main.c
GIT: wrapfs-3.5.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: bcbcaeee3391c38657c817fe5231351c138d9a15 --> 95c4f83688f1db84eba492328a5a362e9f9ac54f fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 95c4f83688f1db84eba492328a5a362e9f9ac54f Author: Erez ZadokDate: Sun May 22 01:25:28 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit d9a0ce855703ec9109f4279f962b06e1ddda588c Author: Erez Zadok Date: Sun May 22 01:25:28 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index ef47e71..afa5063 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -202,6 +216,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -222,9 +237,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -260,11 +279,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff
GIT: wrapfs-3.4.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 610fe2b5ab5098af14d6d11aa12f7e5670505119 --> 64f90251ae7069065d0b50775f97a74f6913bb81 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 64f90251ae7069065d0b50775f97a74f6913bb81 Author: Erez ZadokDate: Sun May 22 01:27:13 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit dc29132c7f7ce1313da17055f2be2e1ed3b6372e Author: Erez Zadok Date: Sun May 22 01:27:13 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index ef47e71..afa5063 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -202,6 +216,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -222,9 +237,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -260,11 +279,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff
GIT: wrapfs-3.3.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 8bed47a6cded1c302b1ca5ef0284b8c0b26db7fe --> 601f28248e30645a304279107df0316a102b523a fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 601f28248e30645a304279107df0316a102b523a Author: Erez ZadokDate: Sun May 22 01:28:37 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit fbc42c46706b2e1d5c6a9f3d6e2e30cbcde2d8bb Author: Erez Zadok Date: Sun May 22 01:28:37 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index ef47e71..afa5063 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -202,6 +216,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -222,9 +237,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -260,11 +279,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff
GIT: wrapfs-3.2.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: fdc3e7177cfaeac02a1ad7522f524d929b3bd3f1 --> 2bc06916edd369639cd3e7b4981ed2f6a2d11fb6 fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 2bc06916edd369639cd3e7b4981ed2f6a2d11fb6 Author: Erez ZadokDate: Sun May 22 01:29:56 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit e601975cc91888791a3bc1852a6448a26ca8ccb8 Author: Erez Zadok Date: Sun May 22 01:29:56 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index ef47e71..afa5063 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -202,6 +216,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -222,9 +237,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -260,11 +279,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff
GIT: wrapfs-3.1.y -- Wrapfs: support NFS exports (push to branch refs/heads/master)
Push to branch refs/heads/master: 1bcc72f79b644db0d10115e6667702f6fb8d7651 --> 7de45f04a89874a781ccf990c52059fb21077bcb fs/wrapfs/lookup.c | 55 +- fs/wrapfs/main.c | 2 ++ fs/wrapfs/super.c | 40 +++ fs/wrapfs/wrapfs.h | 2 ++ 4 files changed, 82 insertions(+), 17 deletions(-) commit 7de45f04a89874a781ccf990c52059fb21077bcb Author: Erez ZadokDate: Sun May 22 01:31:24 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi . Signed-off-by: Erez Zadok commit 66a6f28cd351f0d31a5b43cab1a9053b61ec66ee Author: Erez Zadok Date: Sun May 22 01:31:24 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c index ef47e71..afa5063 100644 --- a/fs/wrapfs/lookup.c +++ b/fs/wrapfs/lookup.c @@ -144,27 +144,24 @@ struct inode *wrapfs_iget(struct super_block *sb, struct inode *lower_inode) } /* - * Connect a wrapfs inode dentry/inode with several lower ones. This is - * the classic stackable file system "vnode interposition" action. - * - * @dentry: wrapfs's dentry which interposes on lower one - * @sb: wrapfs's super_block - * @lower_path: the lower path (caller does path_get/put) + * Helper interpose routine, called directly by ->lookup to handle + * spliced dentries. */ -int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, -struct path *lower_path) +static struct dentry *__wrapfs_interpose(struct dentry *dentry, +struct super_block *sb, +struct path *lower_path) { - int err = 0; struct inode *inode; struct inode *lower_inode; struct super_block *lower_sb; + struct dentry *ret_dentry; lower_inode = lower_path->dentry->d_inode; lower_sb = wrapfs_lower_super(sb); /* check that the lower file system didn't cross a mount point */ if (lower_inode->i_sb != lower_sb) { - err = -EXDEV; + ret_dentry = ERR_PTR(-EXDEV); goto out; } @@ -176,14 +173,31 @@ int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, /* inherit lower inode number for wrapfs's inode */ inode = wrapfs_iget(sb, lower_inode); if (IS_ERR(inode)) { - err = PTR_ERR(inode); + ret_dentry = ERR_PTR(PTR_ERR(inode)); goto out; } - d_add(dentry, inode); + ret_dentry = d_splice_alias(inode, dentry); out: - return err; + return ret_dentry; +} + +/* + * Connect a wrapfs inode dentry/inode with several lower ones. This is + * the classic stackable file system "vnode interposition" action. + * + * @dentry: wrapfs's dentry which interposes on lower one + * @sb: wrapfs's super_block + * @lower_path: the lower path (caller does path_get/put) + */ +int wrapfs_interpose(struct dentry *dentry, struct super_block *sb, +struct path *lower_path) +{ + struct dentry *ret_dentry; + + ret_dentry = __wrapfs_interpose(dentry, sb, lower_path); + return PTR_ERR(ret_dentry); } /* @@ -202,6 +216,7 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, const char *name; struct path lower_path; struct qstr this; + struct dentry *ret_dentry = NULL; /* must initialize dentry operations */ d_set_d_op(dentry, _dops); @@ -222,9 +237,13 @@ static struct dentry *__wrapfs_lookup(struct dentry *dentry, int flags, /* no error: handle positive dentries */ if (!err) { wrapfs_set_lower_path(dentry, _path); - err = wrapfs_interpose(dentry, dentry->d_sb, _path); - if (err) /* path_put underlying path on error */ + ret_dentry = + __wrapfs_interpose(dentry, dentry->d_sb, _path); + if (IS_ERR(ret_dentry)) { + err = PTR_ERR(ret_dentry); +/* path_put underlying path on error */ wrapfs_put_reset_lower_path(dentry); + } goto out; } @@ -260,11 +279,13 @@ setup_lower: * the VFS will continue the process of making this negative dentry * into a positive one. */ - if (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET)) + if (err == -ENOENT || (flags & (LOOKUP_CREATE|LOOKUP_RENAME_TARGET))) err = 0; out: - return ERR_PTR(err); + if (err) + return ERR_PTR(err); + return ret_dentry; } struct dentry *wrapfs_lookup(struct inode *dir, struct dentry *dentry, diff
GIT: wrapfs-latest -- Linux 4.6 (push to branch refs/tags/v4.6)
Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-latest -- Wrapfs: use new ->direct_IO prototype (push to branch refs/heads/master)
Push to branch refs/heads/master: f0415d0b60200a4b02a0463c6b7c53d5031278f3 --> e1629d43f793fd7be672869f6a0bb6fe13f29821 .gitignore |2 +- .mailmap |5 + .../ABI/obsolete/sysfs-driver-hid-roccat-savu | 11 +- .../testing/sysfs-bus-event_source-devices-hv_24x7 |2 +- Documentation/ABI/testing/sysfs-class-cxl |8 + Documentation/ABI/testing/sysfs-driver-hid-picolcd |2 +- Documentation/ABI/testing/sysfs-firmware-acpi |2 +- Documentation/ABI/testing/sysfs-ibft | 10 + Documentation/ABI/testing/sysfs-platform-hidma |9 + .../ABI/testing/sysfs-platform-i2c-demux-pinctrl | 29 +- Documentation/DocBook/80211.tmpl |2 +- Documentation/DocBook/crypto-API.tmpl |6 +- Documentation/DocBook/debugobjects.tmpl| 26 +- Documentation/DocBook/device-drivers.tmpl |1 + Documentation/DocBook/media/dvb/net.xml|2 +- Documentation/DocBook/media/v4l/compat.xml | 38 - Documentation/DocBook/media/v4l/controls.xml | 33 +- Documentation/DocBook/media/v4l/dev-raw-vbi.xml|2 +- Documentation/DocBook/media/v4l/dev-sdr.xml|6 - Documentation/DocBook/media/v4l/dev-subdev.xml |6 - Documentation/DocBook/media/v4l/io.xml |6 - Documentation/DocBook/media/v4l/selection-api.xml |9 +- Documentation/DocBook/media/v4l/subdev-formats.xml |6 - .../DocBook/media/v4l/vidioc-create-bufs.xml |6 - .../DocBook/media/v4l/vidioc-dv-timings-cap.xml| 18 +- .../DocBook/media/v4l/vidioc-enum-dv-timings.xml | 11 +- .../DocBook/media/v4l/vidioc-enum-freq-bands.xml |6 - Documentation/DocBook/media/v4l/vidioc-expbuf.xml |6 - Documentation/DocBook/media/v4l/vidioc-g-edid.xml | 10 +- .../DocBook/media/v4l/vidioc-g-selection.xml |8 +- .../DocBook/media/v4l/vidioc-prepare-buf.xml |6 - .../DocBook/media/v4l/vidioc-query-dv-timings.xml |6 - .../DocBook/media/v4l/vidioc-streamon.xml |8 + .../v4l/vidioc-subdev-enum-frame-interval.xml |6 - .../media/v4l/vidioc-subdev-enum-frame-size.xml|6 - .../media/v4l/vidioc-subdev-enum-mbus-code.xml |6 - .../DocBook/media/v4l/vidioc-subdev-g-fmt.xml |6 - .../media/v4l/vidioc-subdev-g-frame-interval.xml |6 - .../media/v4l/vidioc-subdev-g-selection.xml|6 - Documentation/IRQ-domain.txt | 12 + Documentation/Makefile |5 +- .../Design/Data-Structures/BigTreeClassicRCU.svg | 474 ++ .../Design/Data-Structures/BigTreeClassicRCUBH.svg | 499 ++ .../Data-Structures/BigTreeClassicRCUBHdyntick.svg | 695 ++ .../Data-Structures/BigTreePreemptRCUBHdyntick.svg | 741 ++ .../BigTreePreemptRCUBHdyntickCB.svg | 858 ++ .../Design/Data-Structures/Data-Structures.html| 1333 +++ .../Design/Data-Structures/HugeTreeClassicRCU.svg | 939 +++ .../RCU/Design/Data-Structures/TreeLevel.svg | 828 ++ .../RCU/Design/Data-Structures/TreeMapping.svg | 305 + .../Design/Data-Structures/TreeMappingLevel.svg| 380 + .../RCU/Design/Data-Structures/blkd_task.svg | 843 ++ .../RCU/Design/Data-Structures/nxtlist.svg | 396 + .../RCU/Design/Requirements/2013-08-is-it-dead.png | Bin 100825 -> 0 bytes .../RCU/Design/Requirements/RCUApplicability.svg | 237 - .../RCU/Design/Requirements/Requirements.html | 941 ++- .../RCU/Design/Requirements/Requirements.htmlx | 2741 -- Documentation/RCU/Design/htmlqqz.sh| 108 - Documentation/RCU/RTFP.txt |6 +- Documentation/RCU/trace.txt| 10 +- Documentation/RCU/whatisRCU.txt| 22 +- Documentation/accounting/getdelays.c |5 +- Documentation/acpi/initrd_table_override.txt | 65 +- Documentation/adding-syscalls.txt |2 +- Documentation/arm/SA1100/Assabet |2 +- Documentation/arm64/booting.txt|4 + Documentation/arm64/silicon-errata.txt |2 + Documentation/block/00-INDEX |4 + Documentation/block/queue-sysfs.txt|9 + Documentation/block/writeback_cache_control.txt|4 +- Documentation/cgroup-v1/memory.txt | 14 +- Documentation/connector/.gitignore |1 - Documentation/connector/Makefile | 16 - Documentation/connector/cn_test.c | 201 - Documentation/connector/connector.txt |8 + Documentation/connector/ucon.c | 250 - Documentation/device-mapper/cache-policies.txt | 34 +- Documentation/device-mapper/statistics.txt |2 +- .../devicetree/bindings/arc/archs-pct.txt |
GIT: wrapfs-4.6.y -- Linux 2.6.32.64 (push to branch refs/tags/v2.6.32.64)
Push to branch refs/tags/v2.6.32.64: --> 29100e47157c8e1188a28f66bfdae66f243704ca Push to branch refs/tags/v2.6.32.65: --> 4d1f2057a1e85edfafa4042bf54cd32ac3a1de3e Push to branch refs/tags/v2.6.32.66: --> c592edeacc6aeafa82cf2b79d656410bf18b9f5c Push to branch refs/tags/v2.6.32.67: --> 952ac3c7e7ea959fb11e2bd747c7e5d6138e71e6 Push to branch refs/tags/v2.6.32.68: --> 33a0e46a3f3ff71a7677e0359649ae0404c23a80 Push to branch refs/tags/v2.6.32.69: --> 9385380b76cb41c6351d51d1dc1ef2da652cd9c2 Push to branch refs/tags/v2.6.32.70: --> 280afee24d663fa2d85b1de512d2acd3ff874538 Push to branch refs/tags/v2.6.32.71: --> 6ae80a1ec727a73e7acf3f2f2a96af14826e01b3 Push to branch refs/tags/v3.10.100: --> 76ec872015f330dce946ff0a5ad8abf4bde8fd21 Push to branch refs/tags/v3.10.101: --> ed600516082414f55ae0d8bf6c58bcfc4bfa160b Push to branch refs/tags/v3.10.50: --> 87a079a5956aec7d6b67ea4d789bd7bfec77ead4 Push to branch refs/tags/v3.10.51: --> 057a712e2b13a1c04fbae7ef349027d19a2f81c6 Push to branch refs/tags/v3.10.52: --> 6998fd9712b11074d3fe0d324543c41df1061caf Push to branch refs/tags/v3.10.53: --> 35f64c4e4807a4bd1e81ddc1cccf079bdef45ad9 Push to branch refs/tags/v3.10.54: --> 9517d828983db1d82e4fcb9ab6ac54c438000901 Push to branch refs/tags/v3.10.55: --> fadc22b49ea6c0b53c8dd135ec4e4f38bbdb213b Push to branch refs/tags/v3.10.56: --> 0a7764e8428e0511c70d9348391410da6c368447 Push to branch refs/tags/v3.10.57: --> 1573542d2782f22802b19e3d6c0502241127bfc0 Push to branch refs/tags/v3.10.58: --> fa5fe3e39aac01cd1c76add54e21849d7b7a Push to branch refs/tags/v3.10.59: --> e15c1c07aa2353a88e53e9b5ce1e26e0470eacf6 Push to branch refs/tags/v3.10.60: --> 9591def9f8cecb338402bcccab0d93fa149de477 Push to branch refs/tags/v3.10.61: --> 9219c3aff619cb97d41f5afae4a0d6735bbeb4df Push to branch refs/tags/v3.10.62: --> 1bb8fd8af26fe024519c1eff63601a43e9af9ceb Push to branch refs/tags/v3.10.63: --> 4be88d88cf2f3367ab0cb4b4d5c4f3a43261c07d Push to branch refs/tags/v3.10.64: --> ad2eb577cdee78738dae1c30df9746e00679fec1 Push to branch refs/tags/v3.10.65: --> daf8eb803132fde88c54d02a67d1a8a1436fbf4e Push to branch refs/tags/v3.10.66: --> 5e2152733f354c2ec2aa04e59deb920edae11db3 Push to branch refs/tags/v3.10.67: --> 5dbc8b63ca070f99ab03830f937d62ea0b2ef168 Push to branch refs/tags/v3.10.68: --> c7f7df65b3a57ba46cf1d46e9da14bf2a5db92a3 Push to branch refs/tags/v3.10.69: --> c67479ccb8b8b44c2dda5ca3e6315c9b9a16b4e1 Push to branch refs/tags/v3.10.70: --> 3cd1b212b0fc753a59c5247e3daa43c295026465 Push to branch refs/tags/v3.10.71: --> 3f47996f89a9940afe2ff29b53ad219bf1ffc28f Push to branch refs/tags/v3.10.72: --> 4967734cec88a1d169b4bd15d8386453a8459519 Push to branch refs/tags/v3.10.73: --> 3968db5f2a9a8760fdbf5aebcbdd7692282893de Push to branch refs/tags/v3.10.74: --> 252417435200cca7d6ac33b8be24018100513527 Push to branch refs/tags/v3.10.75: --> 576dabadb02d350e52bf3687e7cb3cca53a0325a Push to branch refs/tags/v3.10.76: --> 35694109e577e6156cc01748e109453568fde7dd Push to branch refs/tags/v3.10.77: --> adaca9fb18b3ca89c52f1cb8ab63ab1bba44e76c Push to branch refs/tags/v3.10.78: --> 9bde7cd535c0b9de0424543a2c5cb411045460e2 Push to branch
GIT: wrapfs-4.6.y -- Wrapfs: use inode_un/lock helper macros (push to branch refs/heads/master)
Push to branch refs/heads/master: f0415d0b60200a4b02a0463c6b7c53d5031278f3 --> 09b3c207f56691171ed00cc73e9d28a752bd7f93 .mailmap | 5 + .../ABI/testing/sysfs-platform-i2c-demux-pinctrl | 29 +- .../devicetree/bindings/arc/archs-pct.txt | 2 +- Documentation/devicetree/bindings/arc/pct.txt | 2 +- Documentation/devicetree/bindings/arm/cpus.txt | 1 - .../devicetree/bindings/ata/ahci-platform.txt | 4 + .../devicetree/bindings/clock/qca,ath79-pll.txt| 6 +- Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 4 +- Documentation/devicetree/bindings/net/cpsw.txt | 6 +- .../devicetree/bindings/net/mediatek-net.txt | 7 +- .../devicetree/bindings/phy/rockchip-dp-phy.txt| 18 +- .../devicetree/bindings/phy/rockchip-emmc-phy.txt | 22 +- .../bindings/pinctrl/img,pistachio-pinctrl.txt | 12 +- .../devicetree/bindings/pinctrl/meson,pinctrl.txt | 38 +- .../devicetree/bindings/regmap/regmap.txt | 59 +- Documentation/devicetree/bindings/rtc/s3c-rtc.txt | 7 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/cramfs.txt | 2 +- Documentation/filesystems/tmpfs.txt| 2 +- Documentation/filesystems/vfs.txt | 4 +- Documentation/filesystems/wrapfs.txt | 172 + Documentation/input/event-codes.txt| 4 + Documentation/kernel-parameters.txt| 2 + Documentation/networking/altera_tse.txt| 6 +- Documentation/networking/checksum-offloads.txt | 14 +- Documentation/networking/ipvlan.txt| 6 +- Documentation/networking/pktgen.txt| 6 +- Documentation/networking/vrf.txt | 2 +- Documentation/networking/xfrm_sync.txt | 6 +- Documentation/power/runtime_pm.txt | 4 + Documentation/sysctl/kernel.txt| 2 +- Documentation/sysctl/vm.txt| 19 +- Documentation/usb/gadget_multi.txt | 2 +- Documentation/x86/protection-keys.txt | 27 + Documentation/x86/x86_64/mm.txt| 6 +- MAINTAINERS| 134 ++-- Makefile | 7 +- arch/arc/Kconfig | 16 +- arch/arc/boot/dts/axs10x_mb.dtsi | 8 - arch/arc/configs/axs103_defconfig | 1 + arch/arc/configs/axs103_smp_defconfig | 1 + arch/arc/include/asm/fb.h | 19 + arch/arc/include/asm/io.h | 27 +- arch/arc/include/asm/irqflags-arcv2.h | 36 +- arch/arc/include/asm/mmzone.h | 43 ++ arch/arc/include/asm/page.h| 15 +- arch/arc/include/asm/pgtable.h | 13 +- arch/arc/kernel/entry-arcv2.S | 10 +- arch/arc/kernel/entry-compact.S| 3 + arch/arc/mm/cache.c| 2 +- arch/arc/mm/init.c | 58 +- arch/arm/boot/dts/am335x-baltos-ir5221.dts | 5 +- arch/arm/boot/dts/am33xx.dtsi | 2 +- arch/arm/boot/dts/am4372.dtsi | 4 +- arch/arm/boot/dts/am43x-epos-evm.dts | 5 + arch/arm/boot/dts/am57xx-beagle-x15.dts| 17 - arch/arm/boot/dts/armada-385-linksys.dtsi | 2 +- arch/arm/boot/dts/at91sam9x5.dtsi | 2 +- arch/arm/boot/dts/dm814x-clocks.dtsi | 243 +- arch/arm/boot/dts/dra62x-clocks.dtsi | 26 + arch/arm/boot/dts/dra7xx-clocks.dtsi | 18 +- arch/arm/boot/dts/meson8.dtsi | 57 +- arch/arm/boot/dts/meson8b.dtsi | 12 +- arch/arm/boot/dts/omap3-n900.dts | 9 + arch/arm/boot/dts/omap34xx.dtsi| 2 +- arch/arm/boot/dts/omap4.dtsi | 2 +- arch/arm/boot/dts/omap5-board-common.dtsi | 4 +- arch/arm/boot/dts/omap5-cm-t54.dts | 4 +- arch/arm/boot/dts/omap5.dtsi | 2 +- arch/arm/boot/dts/qcom-apq8064.dtsi| 3 +- arch/arm/boot/dts/qcom-msm8974.dtsi| 14 +- arch/arm/boot/dts/r8a7791-koelsch.dts | 1 + arch/arm/boot/dts/r8a7791-porter.dts | 14 +- arch/arm/boot/dts/r8a7791.dtsi | 5 +- arch/arm/boot/dts/sama5d2.dtsi | 2 +- arch/arm/boot/dts/sun8i-q8-common.dtsi | 2 - arch/arm/configs/u8500_defconfig | 3 + arch/arm/include/asm/cputype.h | 2 +- arch/arm/include/asm/domain.h | 11 + arch/arm/include/asm/unistd.h | 2 +-
GIT: wrapfs-4.5.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.5.y -- Wrapfs: use inode_un/lock helper macros (push to branch refs/heads/master)
Push to branch refs/heads/master: 2f6de61306d1cf0daccec97a0b6ef4590143cc2d --> a3f6710fea8896342ec5a5138b1d6cb15876120a Documentation/cgroup-v2.txt| 6 + .../devicetree/bindings/ata/ahci-platform.txt | 4 + .../bindings/pinctrl/img,pistachio-pinctrl.txt | 12 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 2 + MAINTAINERS| 109 ++-- Makefile | 2 +- arch/arc/boot/dts/axs10x_mb.dtsi | 8 + arch/arc/include/asm/bitops.h | 15 - arch/arc/include/asm/io.h | 45 +- arch/arm/boot/dts/am33xx.dtsi | 2 +- arch/arm/boot/dts/am4372.dtsi | 4 +- arch/arm/boot/dts/am43x-epos-evm.dts | 5 + arch/arm/boot/dts/armada-375.dtsi | 2 +- arch/arm/boot/dts/armada-385-linksys.dtsi | 2 +- arch/arm/boot/dts/at91-sama5d3_xplained.dts| 1 + arch/arm/boot/dts/at91-sama5d4_xplained.dts| 1 + arch/arm/boot/dts/at91sam9x5.dtsi | 2 +- arch/arm/boot/dts/pxa3xx.dtsi | 2 +- arch/arm/boot/dts/qcom-apq8064.dtsi| 3 +- arch/arm/kernel/setup.c| 2 + arch/arm/mach-cns3xxx/pcie.c | 6 +- arch/arm/mach-exynos/Kconfig | 1 + arch/arm/mach-exynos/pm_domains.c | 2 +- arch/arm/mach-omap2/cpuidle34xx.c | 69 ++- arch/arm/mach-omap2/io.c | 1 + arch/arm/mach-omap2/omap_hwmod.c | 8 +- arch/arm/mach-prima2/Kconfig | 1 + arch/arm/mach-socfpga/headsmp.S| 1 + arch/arm64/include/asm/opcodes.h | 4 + arch/arm64/include/asm/pgtable.h | 3 +- arch/arm64/kernel/debug-monitors.c | 21 +- arch/ia64/include/asm/io.h | 1 + arch/mips/alchemy/devboards/db1000.c | 18 +- arch/mips/alchemy/devboards/db1550.c | 4 +- arch/mips/kernel/unaligned.c | 51 +- arch/parisc/Kconfig| 1 + arch/parisc/include/asm/compat.h | 7 + arch/parisc/include/asm/syscall.h | 13 + arch/parisc/include/asm/uaccess.h | 1 + arch/parisc/kernel/asm-offsets.c | 1 + arch/parisc/kernel/parisc_ksyms.c | 10 +- arch/parisc/kernel/ptrace.c| 9 +- arch/parisc/kernel/signal32.c | 5 + arch/parisc/kernel/syscall.S | 4 +- arch/parisc/kernel/traps.c | 3 + arch/parisc/lib/fixup.S| 6 + arch/parisc/mm/fault.c | 1 + arch/powerpc/include/asm/word-at-a-time.h | 2 +- arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/process.c | 2 +- arch/powerpc/kernel/prom.c | 26 +- arch/powerpc/mm/hugetlbpage.c | 4 +- arch/s390/include/asm/pci.h| 3 +- arch/s390/kernel/entry.S | 106 +--- arch/s390/kernel/setup.c | 1 + arch/s390/mm/gup.c | 8 +- arch/s390/pci/pci.c| 5 +- arch/sh/mm/kmap.c | 2 + arch/um/drivers/mconsole_kern.c| 2 +- arch/x86/Kconfig | 27 +- arch/x86/crypto/sha-mb/sha1_mb.c | 4 +- arch/x86/entry/common.c| 23 +- arch/x86/include/asm/apic.h| 2 +- arch/x86/include/asm/hugetlb.h | 1 + arch/x86/include/asm/hw_irq.h | 1 + arch/x86/include/asm/kvm_host.h| 2 +- arch/x86/include/asm/microcode.h | 26 + arch/x86/include/asm/perf_event.h | 1 + arch/x86/include/asm/xen/hypervisor.h | 2 + arch/x86/kernel/apic/vector.c | 91 +++- arch/x86/kernel/cpu/mcheck/mce-genpool.c | 4 +- arch/x86/kernel/cpu/mcheck/therm_throt.c | 3 + arch/x86/kernel/cpu/microcode/intel.c | 38 +- arch/x86/kernel/cpu/perf_event.c | 13 + arch/x86/kernel/cpu/perf_event.h | 3 + arch/x86/kernel/cpu/perf_event_intel.c | 27 +- arch/x86/kernel/cpu/perf_event_intel_ds.c | 24 +- .../x86/kernel/cpu/perf_event_intel_uncore_snbep.c | 8 +-
GIT: wrapfs-4.4.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.4.y -- Wrapfs: update copyright year to 2015 (push to branch refs/heads/master)
Push to branch refs/heads/master: bd18b6255fb9d4d209623e2e179348a4f1f5f8ab --> 6f6617d59f8add0b5d16e197364677d221b3ae6a .../devicetree/bindings/ata/ahci-platform.txt | 4 + .../bindings/pinctrl/img,pistachio-pinctrl.txt | 12 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 2 + MAINTAINERS| 109 ++-- Makefile | 2 +- arch/arc/include/asm/bitops.h | 15 - arch/arc/include/asm/io.h | 45 +- arch/arm/boot/dts/am43x-epos-evm.dts | 5 + arch/arm/boot/dts/armada-375.dtsi | 2 +- arch/arm/boot/dts/armada-385-linksys.dtsi | 2 +- arch/arm/boot/dts/at91-sama5d3_xplained.dts| 1 + arch/arm/boot/dts/at91-sama5d4_xplained.dts| 1 + arch/arm/boot/dts/at91sam9x5.dtsi | 2 +- arch/arm/boot/dts/pxa3xx.dtsi | 2 +- arch/arm/mach-cns3xxx/pcie.c | 6 +- arch/arm/mach-exynos/Kconfig | 1 + arch/arm/mach-exynos/pm_domains.c | 2 +- arch/arm/mach-omap2/cpuidle34xx.c | 69 ++- arch/arm/mach-omap2/io.c | 1 + arch/arm/mach-omap2/omap_hwmod.c | 8 +- arch/arm/mach-prima2/Kconfig | 1 + arch/arm/mach-s3c64xx/dev-audio.c | 41 +- arch/arm/mach-s3c64xx/include/mach/dma.h | 52 +- arch/arm/mach-socfpga/headsmp.S| 1 + arch/arm/plat-samsung/devs.c | 11 +- arch/arm64/include/asm/opcodes.h | 4 + arch/arm64/include/asm/pgtable.h | 22 +- arch/arm64/kernel/debug-monitors.c | 21 +- arch/ia64/include/asm/io.h | 1 + arch/mips/alchemy/devboards/db1000.c | 18 +- arch/mips/alchemy/devboards/db1550.c | 4 +- arch/mips/kernel/unaligned.c | 51 +- arch/parisc/include/asm/uaccess.h | 1 + arch/parisc/kernel/asm-offsets.c | 1 + arch/parisc/kernel/parisc_ksyms.c | 10 +- arch/parisc/kernel/traps.c | 3 + arch/parisc/lib/fixup.S| 6 + arch/parisc/mm/fault.c | 1 + arch/powerpc/include/asm/word-at-a-time.h | 2 +- arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/process.c | 18 - arch/powerpc/kernel/prom.c | 26 +- arch/powerpc/mm/hugetlbpage.c | 4 +- arch/s390/include/asm/mmu.h| 2 +- arch/s390/include/asm/mmu_context.h| 28 +- arch/s390/include/asm/pci.h| 3 +- arch/s390/include/asm/pgalloc.h| 4 +- arch/s390/include/asm/processor.h | 2 +- arch/s390/include/asm/tlbflush.h | 9 +- arch/s390/kernel/entry.S | 106 +--- arch/s390/kernel/head64.S | 2 +- arch/s390/kernel/setup.c | 1 + arch/s390/mm/init.c| 3 +- arch/s390/mm/mmap.c| 6 +- arch/s390/mm/pgtable.c | 85 +-- arch/s390/pci/pci.c| 5 +- arch/sh/mm/kmap.c | 2 + arch/um/drivers/mconsole_kern.c| 2 +- arch/x86/Kconfig | 27 +- arch/x86/crypto/sha-mb/sha1_mb.c | 4 +- arch/x86/entry/common.c| 23 +- arch/x86/include/asm/apic.h| 2 +- arch/x86/include/asm/hugetlb.h | 1 + arch/x86/include/asm/hw_irq.h | 1 + arch/x86/include/asm/kvm_host.h| 2 +- arch/x86/include/asm/microcode.h | 26 + arch/x86/include/asm/pci_x86.h | 2 + arch/x86/include/asm/perf_event.h | 1 + arch/x86/include/asm/xen/hypervisor.h | 2 + arch/x86/kernel/apic/vector.c | 91 +++- arch/x86/kernel/cpu/mcheck/mce-genpool.c | 4 +- arch/x86/kernel/cpu/mcheck/therm_throt.c | 3 + arch/x86/kernel/cpu/microcode/intel.c | 38 +- arch/x86/kernel/cpu/perf_event.c | 13 + arch/x86/kernel/cpu/perf_event.h | 3 + arch/x86/kernel/cpu/perf_event_intel.c | 27 +- arch/x86/kernel/cpu/perf_event_intel_ds.c | 24 +- arch/x86/kernel/cpu/perf_event_knc.c | 4 +-
GIT: wrapfs-4.3.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.2.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.1.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-4.1.y -- Wrapfs: update copyright year to 2015 (push to branch refs/heads/master)
Push to branch refs/heads/master: 6c1e5234447a9cbeea16bebb450a35959fe459c6 --> 3eee5116d9afc04d6333ef63da493ee285e89303 .../devicetree/bindings/arm/omap/omap.txt | 1 + Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/efivarfs.txt | 7 + Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/kernel-parameters.txt| 2 + Documentation/virtual/kvm/mmu.txt | 3 +- MAINTAINERS| 13 +- Makefile | 2 +- arch/arm/boot/dts/armada-375.dtsi | 2 +- arch/arm/boot/dts/dra7.dtsi| 10 + arch/arm/include/asm/psci.h| 2 +- arch/arm/mach-omap2/omap_hwmod.c | 83 +-- arch/arm/mach-omap2/omap_hwmod.h | 6 + arch/arm/mach-omap2/sleep34xx.S| 12 +- arch/arm64/Makefile| 2 + arch/arm64/include/asm/pgtable.h | 6 +- arch/arm64/kernel/debug-monitors.c | 42 +- arch/arm64/mm/init.c | 4 +- arch/avr32/mach-at32ap/at32ap700x.c| 16 + arch/mips/Kconfig | 13 +- arch/mips/kernel/smp.c | 1 + arch/parisc/include/asm/uaccess.h | 1 + arch/parisc/kernel/asm-offsets.c | 1 + arch/parisc/kernel/parisc_ksyms.c | 10 +- arch/parisc/kernel/traps.c | 3 + arch/parisc/lib/fixup.S| 6 + arch/parisc/mm/fault.c | 1 + arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/module_64.c| 2 +- arch/powerpc/kernel/prom.c | 19 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S| 14 + arch/s390/include/asm/hugetlb.h| 1 + arch/s390/include/asm/mmu_context.h| 16 +- arch/s390/include/asm/pci.h| 3 +- arch/s390/include/asm/pgalloc.h| 24 +- arch/s390/pci/pci.c| 5 +- arch/um/drivers/mconsole_kern.c| 2 +- arch/x86/crypto/sha-mb/sha1_mb.c | 4 +- arch/x86/ia32/ia32entry.S | 1 + arch/x86/include/asm/apic.h| 2 +- arch/x86/include/asm/hugetlb.h | 1 + arch/x86/include/asm/perf_event.h | 8 + arch/x86/include/asm/xen/hypervisor.h | 2 + arch/x86/include/uapi/asm/msr-index.h | 6 + arch/x86/kernel/ioport.c | 12 +- arch/x86/kernel/process_64.c | 12 + arch/x86/kvm/i8254.c | 12 +- arch/x86/kvm/vmx.c | 44 +- arch/x86/kvm/x86.c | 42 +- arch/x86/pci/fixup.c | 7 + arch/x86/xen/enlighten.c | 2 +- arch/xtensa/kernel/head.S | 2 +- arch/xtensa/mm/cache.c | 8 +- arch/xtensa/platforms/iss/console.c| 10 +- block/blk-core.c | 2 +- crypto/asymmetric_keys/Makefile| 8 +- crypto/asymmetric_keys/pkcs7_trust.c | 4 +- crypto/asymmetric_keys/pkcs7_verify.c | 12 +- crypto/asymmetric_keys/x509_akid.asn1 | 35 ++ crypto/asymmetric_keys/x509_cert_parser.c | 229 +--- crypto/asymmetric_keys/x509_parser.h | 12 +- crypto/asymmetric_keys/x509_public_key.c | 17 +- drivers/acpi/video_detect.c| 8 - drivers/block/mtip32xx/mtip32xx.c | 224 drivers/block/mtip32xx/mtip32xx.h | 1 + drivers/block/rbd.c| 6 +- drivers/bluetooth/ath3k.c | 8 + drivers/bluetooth/btusb.c | 4 + drivers/bus/imx-weim.c | 2 +- drivers/char/tpm/tpm_crb.c | 4 +- drivers/clk/rockchip/clk-rk3188.c | 3 + drivers/crypto/atmel-sha.c | 7 - drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 39 ++ drivers/crypto/ccp/ccp-crypto-sha.c| 43 ++ drivers/crypto/ccp/ccp-crypto.h| 22 + drivers/dma/at_xdmac.c | 42 +- drivers/dma/dw/core.c | 34 +- drivers/dma/hsu/hsu.c | 2 +- drivers/dma/hsu/hsu.h | 3 + drivers/edac/amd64_edac.c | 2 +-
GIT: wrapfs-4.0.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-3.19.y -- Linux 2.6.32.68 (push to branch refs/tags/v2.6.32.68)
Push to branch refs/tags/v2.6.32.68: --> 33a0e46a3f3ff71a7677e0359649ae0404c23a80 Push to branch refs/tags/v2.6.32.69: --> 9385380b76cb41c6351d51d1dc1ef2da652cd9c2 Push to branch refs/tags/v2.6.32.70: --> 280afee24d663fa2d85b1de512d2acd3ff874538 Push to branch refs/tags/v2.6.32.71: --> 6ae80a1ec727a73e7acf3f2f2a96af14826e01b3 Push to branch refs/tags/v3.10.100: --> 76ec872015f330dce946ff0a5ad8abf4bde8fd21 Push to branch refs/tags/v3.10.101: --> ed600516082414f55ae0d8bf6c58bcfc4bfa160b Push to branch refs/tags/v3.10.88: --> 6d917ff854dfbd17197a287ad64f816fc80ffe62 Push to branch refs/tags/v3.10.89: --> 2044e51ee6dc4b6328b0400f073f2007f008 Push to branch refs/tags/v3.10.90: --> f1c9eb9759ebd5e98c021e6edd4d4a5853bd9a4e Push to branch refs/tags/v3.10.91: --> 35400463632b2dbc6960ae2a6064cbbf8092abe2 Push to branch refs/tags/v3.10.92: --> 5d7780fd570119ba8579213aa81577afc302b0a0 Push to branch refs/tags/v3.10.93: --> 4609749a2d24e7af47ec44def31140250510c804 Push to branch refs/tags/v3.10.94: --> f1b522beb5863885f534dd2056e116978a62b77d Push to branch refs/tags/v3.10.95: --> 665eab4326dac738d928b123536bcf5d9623188a Push to branch refs/tags/v3.10.96: --> c6f575c9d1c99e279d23db58064936932e0dc6d4 Push to branch refs/tags/v3.10.97: --> d0d215373b13cf71758caf4bdd274cf609e485b7 Push to branch refs/tags/v3.10.98: --> 3aca1b0f400e1fc1c12b70685908d52ddf785047 Push to branch refs/tags/v3.10.99: --> 7b57b03fd90ce15ea98e5eed1787f46c87fe723a Push to branch refs/tags/v3.12.48: --> 56aa5a758f496011bc89ccc0483d5178e0566323 Push to branch refs/tags/v3.12.49: --> a620abae8bd52f1f3eceea54612e546c0b1b6a65 Push to branch refs/tags/v3.12.50: --> 26c49a692ca9be88d248f4c3d3ba5c241071c0f2 Push to branch refs/tags/v3.12.51: --> c4896fd1d155a06ba4ac9ac54d5d85381975cee8 Push to branch refs/tags/v3.12.52: --> 76a782f84addf0e08570c4ce22a40750e6973549 Push to branch refs/tags/v3.12.53: --> 59598b77845476e7c67a26f0cf28daa761067eb5 Push to branch refs/tags/v3.12.54: --> 3baa91c315f7fbb21aff958a1b895efd76036fa5 Push to branch refs/tags/v3.12.55: --> 452508311bb3aaa23ec335c82258dac72e76e0b5 Push to branch refs/tags/v3.12.56: --> 908fd4fb3e612adba1520246c1a45e6e8235eb72 Push to branch refs/tags/v3.12.57: --> fce6780469eb78c4ff5dce6ab31d3993174046f9 Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.52: --> 8692aded10908fa64297f368f6d80ccabc865a32 Push to branch refs/tags/v3.14.53: --> cda71f1b25547063772c6d755fba3a97177552f4 Push to branch refs/tags/v3.14.54: --> fea5d7ae0589ee87babcbc91621273d76b9bc6d1 Push to branch refs/tags/v3.14.55: --> 2ac738af50c9ffb16e927a41a8b98783902a2cd6 Push to branch refs/tags/v3.14.56: --> 6ae24ce983963a73c212ff63b54d16077ac1085b Push to branch refs/tags/v3.14.57: --> d634e41c52fe3c6308b1b8aadc0b7d0bd688aaca Push to branch refs/tags/v3.14.58: --> e9123a60f3a614bb38c4e3f22b4bbb885c01637e Push to branch refs/tags/v3.14.59: --> 2d83feee6e8e48b16f6e23ec96bb06bd96a845ed Push to branch refs/tags/v3.14.60: --> 8cca40ab9753abb0e8d4b4f2322dca73ab8dab40 Push to branch refs/tags/v3.14.61:
GIT: wrapfs-3.18.y -- Linux 3.12.58 (push to branch refs/tags/v3.12.58)
Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.66: --> 0bb9432f41b9ab605edcf76435a3fa902ec599fa Push to branch refs/tags/v3.14.67: --> 9b0db16d4a93c1da3b79234d64a9eba3cd1f83d1 Push to branch refs/tags/v3.14.68: --> bdd523e3cf17f36dded5300cfdaa2ca31bfaf1fa Push to branch refs/tags/v3.14.69: --> 12577650ec58524d482fd88b2cf1cfc4a726029c Push to branch refs/tags/v3.14.70: --> 0883c984a970bc57fe298bb9da898552fedf54a1 Push to branch refs/tags/v3.16.35: --> cc9ff45fa306b76d0c6e418863132e6862ac867f Push to branch refs/tags/v3.18.30: --> 8071aaaf1961a6aaa11742b22b96942ee179fdc6 Push to branch refs/tags/v3.18.31: --> 22c0ebd0531394166c5953ae1c5108e8309a3f2d Push to branch refs/tags/v3.18.32: --> e04b898d9450e695141c1d06b59009973701c184 Push to branch refs/tags/v3.18.33: --> 75b0d38163cdbd7f294a4d2a0b46adba853ae6fc Push to branch refs/tags/v3.2.80: --> a270d833d47191a1b20c5da480420ceb48d7bf3d Push to branch refs/tags/v3.4.112: --> 5a7de5b57328c67fb41c7a35e29c1456ef42654f Push to branch refs/tags/v4.1.21: --> c291691238c4f2801666530b05eb8bc3ae7b867f Push to branch refs/tags/v4.1.22: --> 8d153198e27f83d44b31dcd27d0dac6a6f975d08 Push to branch refs/tags/v4.1.23: --> b3a796ce610ad51a9ccc97dd3c21736cb9170f92 Push to branch refs/tags/v4.1.24: --> c105f968078ba8d8a0fee09758924642edd27375 Push to branch refs/tags/v4.4.10: --> da1608228931a22c207e5eb5f4e44cbe7c0465e6 Push to branch refs/tags/v4.4.11: --> 3dc4638c4839de670c43ec247f08c7002da2d541 Push to branch refs/tags/v4.4.7: --> ba6db532a6d78931bba4975ea9ee2e26d6c1bda8 Push to branch refs/tags/v4.4.8: --> 49e89201113f38a1dac9b1b7c79147493e4334b7 Push to branch refs/tags/v4.4.9: --> 71c37ebcf008eb28137adc7a544b655c9f05d396 Push to branch refs/tags/v4.5.1: --> a89e7bda9da4570195f84fd5b5e4989596af2400 Push to branch refs/tags/v4.5.2: --> 9fb6d39e801279564df3e10985633ee013975082 Push to branch refs/tags/v4.5.3: --> 8de99acda98b64572971f1bed6de27edad2e1827 Push to branch refs/tags/v4.5.4: --> 35f3192833eaa1283b2cff6398bd62f85840dfe8 Push to branch refs/tags/v4.5.5: --> 3a04a8aac23d7758d38ab4edb47c7c2142db07a4 Push to branch refs/tags/v4.6: --> a902836aade7b56f8dc31f50f9c6ca6d0fa01e45 Push to branch refs/tags/v4.6-rc3: --> 2073bfeaa5ffaf82c23112898bfcfff89199a67d Push to branch refs/tags/v4.6-rc4: --> 35c0e46ca81f4d7d67f7b33bb62de42d43c46cb0 Push to branch refs/tags/v4.6-rc5: --> 8ef3ad9a813abdf0817acb0b2be30be70bf25a9b Push to branch refs/tags/v4.6-rc6: --> e23626e59033cf3d43c646c4f3df426dcea5bead Push to branch refs/tags/v4.6-rc7: --> edff27137675622d8e2e6597eb3c7381e6ffb664 ___ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
GIT: wrapfs-3.18.y -- Wrapfs: update copyright year to 2015 (push to branch refs/heads/master)
Push to branch refs/heads/master: a6c4395f4cce80a2eeb803ed076446e9fbbbf7a6 --> 73cedca61b2cf7b62db11c59c7bae2ebcb366f40 Documentation/filesystems/00-INDEX| 3 + Documentation/filesystems/efivarfs.txt| 7 + Documentation/filesystems/wrapfs.txt | 172 +++ Documentation/kernel-parameters.txt | 2 + MAINTAINERS | 13 +- Makefile | 2 +- arch/arm/boot/dts/armada-375.dtsi | 2 +- arch/arm/boot/dts/dra7.dtsi | 71 +++ arch/arm/boot/dts/sun5i-a10s.dtsi | 2 +- arch/arm/boot/dts/sun5i-a13.dtsi | 2 +- arch/arm/boot/dts/sun7i-a20.dtsi | 2 +- arch/arm/include/asm/psci.h | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 8 +- arch/arm64/Makefile | 2 + arch/arm64/include/asm/pgtable.h | 6 +- arch/arm64/kernel/Makefile| 2 +- arch/arm64/kernel/psci-call.S | 28 ++ arch/arm64/kernel/psci.c | 37 +- arch/arm64/mm/init.c | 4 +- arch/mips/Kconfig | 2 +- arch/parisc/include/asm/uaccess.h | 1 + arch/parisc/kernel/asm-offsets.c | 1 + arch/parisc/kernel/parisc_ksyms.c | 10 +- arch/parisc/kernel/traps.c| 3 + arch/parisc/lib/fixup.S | 10 +- arch/parisc/mm/fault.c| 1 + arch/powerpc/include/uapi/asm/cputable.h | 1 + arch/powerpc/kernel/module_64.c | 2 +- arch/powerpc/kernel/prom.c| 23 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 14 + arch/s390/include/asm/hugetlb.h | 1 + arch/s390/include/asm/pci.h | 10 +- arch/s390/pci/pci.c | 10 +- arch/s390/pci/pci_debug.c | 21 +- arch/s390/pci/pci_dma.c | 8 +- arch/um/drivers/mconsole_kern.c | 2 +- arch/x86/crypto/sha-mb/sha1_mb.c | 4 +- arch/x86/include/asm/apic.h | 2 +- arch/x86/include/asm/hugetlb.h| 1 + arch/x86/include/asm/perf_event.h | 8 + arch/x86/include/asm/xen/hypervisor.h | 2 + arch/x86/include/uapi/asm/msr-index.h | 6 + arch/x86/kernel/ioport.c | 12 +- arch/x86/kernel/process_64.c | 12 + arch/x86/kvm/i8254.c | 12 +- arch/x86/kvm/vmx.c| 8 + arch/x86/kvm/x86.c| 42 +- arch/x86/pci/fixup.c | 7 + arch/x86/pci/intel_mid_pci.c | 10 +- arch/x86/pci/irq.c| 7 +- arch/x86/xen/enlighten.c | 2 +- arch/xtensa/kernel/head.S | 2 +- arch/xtensa/mm/cache.c| 8 +- arch/xtensa/platforms/iss/console.c | 10 +- crypto/algif_skcipher.c | 156 +- drivers/acpi/pci_irq.c| 11 +- drivers/block/mtip32xx/mtip32xx.c | 224 - drivers/block/mtip32xx/mtip32xx.h | 1 + drivers/block/rbd.c | 6 +- drivers/bluetooth/ath3k.c | 8 + drivers/bluetooth/btusb.c | 4 + drivers/bus/imx-weim.c| 2 +- drivers/clk/rockchip/clk-rk3188.c | 2 + drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 39 ++ drivers/crypto/ccp/ccp-crypto-sha.c | 43 ++ drivers/crypto/ccp/ccp-crypto.h | 22 + drivers/dma/dw/core.c | 34 +- drivers/edac/amd64_edac.c | 2 +- drivers/edac/sb_edac.c| 28 +- drivers/firmware/efi/efivars.c| 45 +- drivers/firmware/efi/vars.c | 144 -- drivers/gpio/gpio-pca953x.c | 3 +- drivers/gpu/drm/drm_dp_mst_topology.c | 76 ++- drivers/gpu/drm/gma500/gem.c | 2 +- drivers/gpu/drm/qxl/qxl_display.c | 13 +- drivers/gpu/drm/qxl/qxl_drv.h | 2 + drivers/gpu/drm/radeon/atombios_encoders.c| 6 +- drivers/gpu/drm/radeon/radeon_device.c| 1 - drivers/gpu/drm/radeon/radeon_fb.c| 25 +- drivers/gpu/drm/radeon/radeon_mode.h | 4 + drivers/gpu/drm/radeon/radeon_pm.c| 5 +-
GIT: wrapfs-3.17.y -- Linux 2.6.32.68 (push to branch refs/tags/v2.6.32.68)
Push to branch refs/tags/v2.6.32.68: --> 33a0e46a3f3ff71a7677e0359649ae0404c23a80 Push to branch refs/tags/v2.6.32.69: --> 9385380b76cb41c6351d51d1dc1ef2da652cd9c2 Push to branch refs/tags/v2.6.32.70: --> 280afee24d663fa2d85b1de512d2acd3ff874538 Push to branch refs/tags/v2.6.32.71: --> 6ae80a1ec727a73e7acf3f2f2a96af14826e01b3 Push to branch refs/tags/v3.10.100: --> 76ec872015f330dce946ff0a5ad8abf4bde8fd21 Push to branch refs/tags/v3.10.101: --> ed600516082414f55ae0d8bf6c58bcfc4bfa160b Push to branch refs/tags/v3.10.85: --> 7b4648cabf594d08452217acb5992955abf3beb2 Push to branch refs/tags/v3.10.86: --> 0ad4f46015536be6461f80e433f209a2318dc932 Push to branch refs/tags/v3.10.87: --> d0db588cdd6a519230fae2169e4f21d2bf9db318 Push to branch refs/tags/v3.10.88: --> 6d917ff854dfbd17197a287ad64f816fc80ffe62 Push to branch refs/tags/v3.10.89: --> 2044e51ee6dc4b6328b0400f073f2007f008 Push to branch refs/tags/v3.10.90: --> f1c9eb9759ebd5e98c021e6edd4d4a5853bd9a4e Push to branch refs/tags/v3.10.91: --> 35400463632b2dbc6960ae2a6064cbbf8092abe2 Push to branch refs/tags/v3.10.92: --> 5d7780fd570119ba8579213aa81577afc302b0a0 Push to branch refs/tags/v3.10.93: --> 4609749a2d24e7af47ec44def31140250510c804 Push to branch refs/tags/v3.10.94: --> f1b522beb5863885f534dd2056e116978a62b77d Push to branch refs/tags/v3.10.95: --> 665eab4326dac738d928b123536bcf5d9623188a Push to branch refs/tags/v3.10.96: --> c6f575c9d1c99e279d23db58064936932e0dc6d4 Push to branch refs/tags/v3.10.97: --> d0d215373b13cf71758caf4bdd274cf609e485b7 Push to branch refs/tags/v3.10.98: --> 3aca1b0f400e1fc1c12b70685908d52ddf785047 Push to branch refs/tags/v3.10.99: --> 7b57b03fd90ce15ea98e5eed1787f46c87fe723a Push to branch refs/tags/v3.12.45: --> b7a0380f2519f5ec554491c772e29950ff8de0d8 Push to branch refs/tags/v3.12.46: --> e8c5e4997ccb1c1de276042a4c482edc1ab9c127 Push to branch refs/tags/v3.12.47: --> 7e6c4606bb9d78cf921dd9d7ce163d1c3bfafe5c Push to branch refs/tags/v3.12.48: --> 56aa5a758f496011bc89ccc0483d5178e0566323 Push to branch refs/tags/v3.12.49: --> a620abae8bd52f1f3eceea54612e546c0b1b6a65 Push to branch refs/tags/v3.12.50: --> 26c49a692ca9be88d248f4c3d3ba5c241071c0f2 Push to branch refs/tags/v3.12.51: --> c4896fd1d155a06ba4ac9ac54d5d85381975cee8 Push to branch refs/tags/v3.12.52: --> 76a782f84addf0e08570c4ce22a40750e6973549 Push to branch refs/tags/v3.12.53: --> 59598b77845476e7c67a26f0cf28daa761067eb5 Push to branch refs/tags/v3.12.54: --> 3baa91c315f7fbb21aff958a1b895efd76036fa5 Push to branch refs/tags/v3.12.55: --> 452508311bb3aaa23ec335c82258dac72e76e0b5 Push to branch refs/tags/v3.12.56: --> 908fd4fb3e612adba1520246c1a45e6e8235eb72 Push to branch refs/tags/v3.12.57: --> fce6780469eb78c4ff5dce6ab31d3993174046f9 Push to branch refs/tags/v3.12.58: --> 33c83d4b30014edbdd2df4f6f7115bc5cd29ec3b Push to branch refs/tags/v3.12.59: --> af5c1d04bfc8f073f20e849773fe92f2b24449fe Push to branch refs/tags/v3.14.49: --> 818d2ae7bb58831d66584732a2ece56dd7f8cd38 Push to branch refs/tags/v3.14.50: --> 31df98eb2adad3cde041453700d4a30acdf0ed2e Push to branch refs/tags/v3.14.51: --> 0406d17d57efce2b7dd9f21047faa043b80e80c9 Push to branch refs/tags/v3.14.52: