Skip to content
  1. May 31, 2011
    • Paul Mundt's avatar
    • Paul Mundt's avatar
      dmaengine: shdma: Fix up fallout from runtime PM changes. · 5c2de444
      Paul Mundt authored
      
      
      The runtime PM changes introduce sh_dmae_rst() wrapping via the
      runtime_resume helper, depending on dev_get_drvdata() to fetch the
      platform data needed for the DMAOR initialization default at a time
      where drvdata hasn't yet been established by the probe path, resulting
      in general probe misery:
      
              Unable to handle kernel NULL pointer dereference at virtual address 000000c4
              pc = 8025adee
              *pde = 00000000
              Oops: 0000 [#1]
              Modules linked in:
      
              Pid : 1, Comm:           swapper
              CPU : 0                  Not tainted  (3.0.0-rc1-00012-g9436b4a-dirty #1456)
      
              PC is at sh_dmae_rst+0x28/0x86
              PR is at sh_dmae_rst+0x22/0x86
              PC  : 8025adee SP  : 9e803d10 SR  : 400080f1 TEA : 000000c4
              R0  : 000000c4 R1  : 0000fff8 R2  : 00000000 R3  : 00000040
              R4  : 000000f0 R5  : 00000000 R6  : 00000000 R7  : 804f184c
              R8  : 00000000 R9  : 804dd0e8 R10 : 80283204 R11 : ffffffda
              R12 : 000000a0 R13 : 804dd18c R14 : 9e803d10
              MACH: 00000000 MACL: 00008f20 GBR : 00000000 PR  : 8025ade8
      
              Call trace:
              [<8025ae70>] sh_dmae_runtime_resume+0x24/0x34
              [<80283238>] pm_generic_runtime_resume+0x34/0x3c
              [<80283370>] rpm_callback+0x4a/0x7e
              [<80283efc>] rpm_resume+0x240/0x384
              [<80283f54>] rpm_resume+0x298/0x384
              [<8028428c>] __pm_runtime_resume+0x44/0x7c
              [<8038a358>] __ioremap_caller+0x0/0xec
              [<80284296>] __pm_runtime_resume+0x4e/0x7c
              [<8038a358>] __ioremap_caller+0x0/0xec
              [<80666254>] sh_dmae_probe+0x180/0x6a0
              [<802803ae>] platform_drv_probe+0x26/0x2e
      
      Fix up the ordering accordingly.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      5c2de444
    • Paul Mundt's avatar
      Revert "clocksource: sh_cmt: Runtime PM support" · 9436b4ab
      Paul Mundt authored
      This reverts commit 01fa68b5
      
      .
      
      The same note as per the sh_tmu change applies here, too.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      9436b4ab
    • Paul Mundt's avatar
      Revert "clocksource: sh_tmu: Runtime PM support" · d4905ce3
      Paul Mundt authored
      This reverts commit 1b842e91
      
      .
      
      There is a fundamental ordering race between the early and late probe
      paths and the runtime PM tie-in that results in __pm_runtime_resume()
      attempting to take a lock that hasn't been initialized yet (which by
      proxy also suggests that pm_runtime_init() hasn't yet been run on the
      device either, making the entire thing unsafe) -- resulting in instant
      death on SMP or on UP with spinlock debugging enabled:
      
      	 sh_tmu.0: used for clock events
      	 sh_tmu.0: used for periodic clock events
      	BUG: spinlock trylock failure on UP on CPU#0, swapper/0
      	 lock: 804db198, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
      	...
      
      Revert it for now until the ordering issues can be resolved, or we can get
      some more help from the runtime PM framework to make this possible.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      d4905ce3
    • Paul Mundt's avatar
      sh: Fix up asm-generic/ptrace.h fallout. · db7eba29
      Paul Mundt authored
      
      
      There was an ordering issue with regards to instruction_pointer() being
      used in profile_pc() prior to the asm-generic/ptrace.h include, which
      subsequently provided the instruction_pointer() definition. In the
      interest of simplicity we simply open-code the regs->pc deref for the
      profile_pc() definition instead.
      
      The FP functions were also broken due to a lack of a common regs->fp,
      so provide a common GET_FP() that is safe for both architectures in order
      to fix up the frame pointer helpers too.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      db7eba29
    • Paul Mundt's avatar
      sh64: Move from P1SEG to CAC_ADDR for consistent sync. · 3f9b8520
      Paul Mundt authored
      
      
      sh64 doesn't define a P1SEGADDR, resulting in a build failure. The proper
      mapping can be attained for both sh32 and 64 via the CAC_ADDR macro, so
      switch to that instead.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      3f9b8520
    • Paul Mundt's avatar
      sh64: asm/pgtable.h needs asm/mmu.h · 65d517eb
      Paul Mundt authored
      
      
      Needed to satisfy the __in_29bit_mode() check.
      
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      65d517eb
    • Nobuhiro Iwamatsu's avatar
      sh: asm/tlb.h needs linux/swap.h · 194cd8df
      Nobuhiro Iwamatsu authored
      Commit 1e56a564
      
       introduced the mmu_gather
      rework for sh, but missed a linux/swap.h include:
      
      	CC      arch/sh/mm/tlb-urb.o
      	In file included from arch/sh/mm/tlb-urb.c:14:0:
      	arch/sh/include/asm/tlb.h: In function '__tlb_remove_page':
      	arch/sh/include/asm/tlb.h:92:2: error: implicit declaration of function 'free_page_and_swap_cache'
      
      Signed-off-by: default avatarNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      194cd8df
    • Paul Mundt's avatar
      Merge branch 'master' of... · 8181d3ef
      Paul Mundt authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-fixes-for-linus
      8181d3ef
  2. May 30, 2011
    • Linus Torvalds's avatar
      Linux 3.0-rc1 · 55922c9d
      Linus Torvalds authored
      
      
      .. except there are various scripts that really know that there are
      three numbers, so it calls itself "3.0.0-rc1".
      
      Hopefully by the time the final 3.0 is out, we'll have that extra zero
      all figured out.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      v3.0-rc1
      55922c9d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · bd1bfe40
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
        eCryptfs: Remove ecryptfs_header_cache_2
        eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()
        eCryptfs: Return useful code from contains_ecryptfs_marker
        eCryptfs: Fix new inode race condition
        eCryptfs: Cleanup inode initialization code
        eCryptfs: Consolidate inode functions into inode.c
      bd1bfe40
    • Linus Torvalds's avatar
      Merge branch 'pnfs-submit' of git://git.open-osd.org/linux-open-osd · cd1acdf1
      Linus Torvalds authored
      * 'pnfs-submit' of git://git.open-osd.org/linux-open-osd: (32 commits)
        pnfs-obj: pg_test check for max_io_size
        NFSv4.1: define nfs_generic_pg_test
        NFSv4.1: use pnfs_generic_pg_test directly by layout driver
        NFSv4.1: change pg_test return type to bool
        NFSv4.1: unify pnfs_pageio_init functions
        pnfs-obj: objlayout_encode_layoutcommit implementation
        pnfs: encode_layoutcommit
        pnfs-obj: report errors and .encode_layoutreturn Implementation.
        pnfs: encode_layoutreturn
        pnfs: layoutret_on_setattr
        pnfs: layoutreturn
        pnfs-obj: osd raid engine read/write implementation
        pnfs: support for non-rpc layout drivers
        pnfs-obj: define per-inode private structure
        pnfs: alloc and free layout_hdr layoutdriver methods
        pnfs-obj: objio_osd device information retrieval and caching
        pnfs-obj: decode layout, alloc/free lseg
        pnfs-obj: pnfs_osd XDR client implementation
        pnfs-obj: pnfs_osd XDR definitions
        pnfs-obj: objlayoutdriver module skeleton
        ...
      cd1acdf1
    • Linus Torvalds's avatar
      arm gpio drivers: make them 'depends on ARM' · fac04863
      Linus Torvalds authored
      
      
      We had a few drivers move from arch/arm into drivers/gpio, but they
      don't actually compile without the ARM platform headers etc.  As a
      result they were messing up allyesconfig on x86.
      
      Make them depend on ARM.
      
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fac04863
    • Tyler Hicks's avatar
      eCryptfs: Remove ecryptfs_header_cache_2 · 30632870
      Tyler Hicks authored
      
      
      Now that ecryptfs_lookup_interpose() is no longer using
      ecryptfs_header_cache_2 to read in metadata, the kmem_cache can be
      removed and the ecryptfs_header_cache_1 kmem_cache can be renamed to
      ecryptfs_header_cache.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      30632870
    • Tyler Hicks's avatar
      eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose() · 778aeb42
      Tyler Hicks authored
      
      
      ecryptfs_lookup_interpose() has turned into spaghetti code over the
      years. This is an effort to clean it up.
      
       - Shorten overly descriptive variable names such as ecryptfs_dentry
       - Simplify gotos and error paths
       - Create helper function for reading plaintext i_size from metadata
      
      It also includes an optimization when reading i_size from the metadata.
      A complete page-sized kmem_cache_alloc() was being done to read in 16
      bytes of metadata. The buffer for that is now statically declared.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      778aeb42
    • Tyler Hicks's avatar
      eCryptfs: Return useful code from contains_ecryptfs_marker · 7a86617e
      Tyler Hicks authored
      
      
      Instead of having the calling functions translate the true/false return
      code to either 0 or -EINVAL, have contains_ecryptfs_marker() return 0 or
      -EINVAL so that the calling functions can just reuse the return code.
      
      Also, rename the function to ecryptfs_validate_marker() to avoid callers
      mistakenly thinking that it returns true/false codes.
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      7a86617e
    • Tyler Hicks's avatar
      eCryptfs: Fix new inode race condition · 3b06b3eb
      Tyler Hicks authored
      
      
      Only unlock and d_add() new inodes after the plaintext inode size has
      been read from the lower filesystem. This fixes a race condition that
      was sometimes seen during a multi-job kernel build in an eCryptfs mount.
      
      https://bugzilla.kernel.org/show_bug.cgi?id=36002
      
      Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
      Reported-by: default avatarDavid <david@unsolicited.net>
      Tested-by: default avatarDavid <david@unsolicited.net>
      3b06b3eb
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of... · 2ba781ce
      Linus Torvalds authored
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (43 commits)
        acer-wmi: support integer return type from WMI methods
        msi-laptop: fix section mismatch in reference from the function load_scm_model_init
        acer-wmi: support to set communication device state by new wmid method
        acer-wmi: allow 64-bits return buffer from WMI methods
        acer-wmi: check the existence of internal 3G device when set capability
        platform/x86:delete two unused variables
        support wlan hotkey on Acer Travelmate 5735Z
        platform-x86: intel_mid_thermal: Fix memory leak
        platform/x86: Fix Makefile for intel_mid_powerbtn
        platform/x86: Simplify intel_mid_powerbtn
        acer-wmi: Delete out-of-date documentation
        acerhdf: Clean up includes
        acerhdf: Drop pointless dependency on THERMAL_HWMON
        acer-wmi: Update MAINTAINERS
        wmi: Orphan ACPI-WMI driver
        tc1100-wmi: Orphan driver
        acer-wmi: does not allow negative number set to initial device state
        platform/oaktrail: ACPI EC Extra driver for Oaktrail
        thinkpad_acpi: Convert printks to pr_<level>
        thinkpad_acpi: Correct !CONFIG_THINKPAD_ACPI_VIDEO warning
        ...
      2ba781ce
    • Linus Torvalds's avatar
      mm: Fix boot crash in mm_alloc() · 6345d24d
      Linus Torvalds authored
      Thomas Gleixner reports that we now have a boot crash triggered by
      CONFIG_CPUMASK_OFFSTACK=y:
      
          BUG: unable to handle kernel NULL pointer dereference at   (null)
          IP: [<c11ae035>] find_next_bit+0x55/0xb0
          Call Trace:
           [<c11addda>] cpumask_any_but+0x2a/0x70
           [<c102396b>] flush_tlb_mm+0x2b/0x80
           [<c1022705>] pud_populate+0x35/0x50
           [<c10227ba>] pgd_alloc+0x9a/0xf0
           [<c103a3fc>] mm_init+0xec/0x120
           [<c103a7a3>] mm_alloc+0x53/0xd0
      
      which was introduced by commit de03c72c
      
       ("mm: convert
      mm->cpu_vm_cpumask into cpumask_var_t"), and is due to wrong ordering of
      mm_init() vs mm_init_cpumask
      
      Thomas wrote a patch to just fix the ordering of initialization, but I
      hate the new double allocation in the fork path, so I ended up instead
      doing some more radical surgery to clean it all up.
      
      Reported-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6345d24d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · cab0d85c
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] mm: fix mmu_gather rework
        [S390] mm: fix storage key handling
      cab0d85c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 57ed609d
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: more /proc and /sys file support
      57ed609d
    • Matthew Garrett's avatar
      437cb0db
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.40' of git://linux-nfs.org/~bfields/linux · a74d70b6
      Linus Torvalds authored
      * 'for-2.6.40' of git://linux-nfs.org/~bfields/linux: (22 commits)
        nfsd: make local functions static
        NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()
        NFSD: Check status from nfsd4_map_bcts_dir()
        NFSD: Remove setting unused variable in nfsd_vfs_read()
        nfsd41: error out on repeated RECLAIM_COMPLETE
        nfsd41: compare request's opcnt with session's maxops at nfsd4_sequence
        nfsd v4.1 lOCKT clientid field must be ignored
        nfsd41: add flag checking for create_session
        nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly
        nfsd4: fix wrongsec handling for PUTFH + op cases
        nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller
        nfsd4: introduce OPDESC helper
        nfsd4: allow fh_verify caller to skip pseudoflavor checks
        nfsd: distinguish functions of NFSD_MAY_* flags
        svcrpc: complete svsk processing on cb receive failure
        svcrpc: take advantage of tcp autotuning
        SUNRPC: Don't wait for full record to receive tcp data
        svcrpc: copy cb reply instead of pages
        svcrpc: close connection if client sends short packet
        svcrpc: note network-order types in svc_process_calldir
        ...
      a74d70b6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm · b11b06d9
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
        dm kcopyd: return client directly and not through a pointer
        dm kcopyd: reserve fewer pages
        dm io: use fixed initial mempool size
        dm kcopyd: alloc pages from the main page allocator
        dm kcopyd: add gfp parm to alloc_pl
        dm kcopyd: remove superfluous page allocation spinlock
        dm kcopyd: preallocate sub jobs to avoid deadlock
        dm kcopyd: avoid pointless job splitting
        dm mpath: do not fail paths after integrity errors
        dm table: reject devices without request fns
        dm table: allow targets to support discards internally
      b11b06d9
    • Linus Torvalds's avatar
      Merge branch 'nfs-for-2.6.40' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · f1d1c9fa
      Linus Torvalds authored
      * 'nfs-for-2.6.40' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
        SUNRPC: Support for RPC over AF_LOCAL transports
        SUNRPC: Remove obsolete comment
        SUNRPC: Use AF_LOCAL for rpcbind upcalls
        SUNRPC: Clean up use of curly braces in switch cases
        NFS: Revert NFSROOT default mount options
        SUNRPC: Rename xs_encode_tcp_fragment_header()
        nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()
        nfs41: Correct offset for LAYOUTCOMMIT
        NFS: nfs_update_inode: print current and new inode size in debug output
        NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors
        NFSv4: Handle expired stateids when the lease is still valid
        SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change callback...
      f1d1c9fa
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus · 2ff55e98
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
        Squashfs: Fix sanity check patches on big-endian systems
      2ff55e98
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · daa94222
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
        ACPI EC: remove redundant code
        ACPI: Add D3 cold state
        ACPI: processor: fix processor_physically_present in UP kernel
        ACPI: Split out custom_method functionality into an own driver
        ACPI: Cleanup custom_method debug stuff
        ACPI EC: enable MSI workaround for Quanta laptops
        ACPICA: Update to version 20110413
        ACPICA: Execute an orphan _REG method under the EC device
        ACPICA: Move ACPI_NUM_PREDEFINED_REGIONS to a more appropriate place
        ACPICA: Update internal address SpaceID for DataTable regions
        ACPICA: Add more methods eligible for NULL package element removal
        ACPICA: Split all internal Global Lock functions to new file - evglock
        ACPI: EC: add another DMI check for ASUS hardware
        ACPI EC: remove dead code
        ACPICA: Fix code divergence of global lock handling
        ACPICA: Use acpi_os_create_lock interface
        ACPI: osl, add acpi_os_create_lock interface
        ACPI:Fix goto flows in thermal-sys
      daa94222
    • Linus Torvalds's avatar
      Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 · f3106421
      Linus Torvalds authored
      * 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
        x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param
        x86 idle: deprecate "no-hlt" cmdline param
        x86 idle APM: deprecate CONFIG_APM_CPU_IDLE
        x86 idle floppy: deprecate disable_hlt()
        x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it
        x86 idle: clarify AMD erratum 400 workaround
        idle governor: Avoid lock acquisition to read pm_qos before entering idle
        cpuidle: menu: fixed wrapping timers at 4.294 seconds
      f3106421
    • Al Viro's avatar
      cifs/ubifs: Fix shrinker API change fallout · ef1d5759
      Al Viro authored
      Commit 1495f230
      
       ("vmscan: change shrinker API by passing
      shrink_control struct") changed the API of ->shrink(), but missed ubifs
      and cifs instances.
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef1d5759
    • Boaz Harrosh's avatar
      pnfs-obj: pg_test check for max_io_size · 93420770
      Boaz Harrosh authored
      
      
      Implement pg_test vector to test for max IO sizes. We calculate
      a max_io_size member only once, and cache it in lseg so to not
      do so on every page insert.
      
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      [simplify logic]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      93420770
    • Boaz Harrosh's avatar
      NFSv4.1: define nfs_generic_pg_test · 5b36c7dc
      Boaz Harrosh authored
      
      
      By default, unless pnfs is used coalesce pages until pg_bsize
      (rsize or wsize) is reached.
      
      pnfs layout drivers define their own pg_test methods that use
      pnfs_generic_pg_test and need to define their own I/O size
      limits (e.g. based on the file stripe size).
      
      [Move a check from nfs_pageio_do_add_request to nfs_generic_pg_test]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      5b36c7dc
    • Benny Halevy's avatar
    • Benny Halevy's avatar
      18ad0a9f
    • Benny Halevy's avatar
      NFSv4.1: unify pnfs_pageio_init functions · dfed206b
      Benny Halevy authored
      
      
      Use common code for pnfs_pageio_init_{read,write} and use
      a common generic pg_test function.
      
      Note that this function always assumes the the layout driver's
      pg_test method is implemented.
      
      [Fix BUG]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      dfed206b
    • Boaz Harrosh's avatar
      pnfs-obj: objlayout_encode_layoutcommit implementation · a0fe8bf4
      Boaz Harrosh authored
      
      
      * Define API for io-engines to report delta_space_used in IOs
      * Encode the osd-layout specific information of the layoutcommit
        XDR buffer.
      
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      a0fe8bf4
    • Benny Halevy's avatar
      pnfs: encode_layoutcommit · ac7db726
      Benny Halevy authored
      
      
      Add a layout driver method to encode the layout type specific
      opaque part of layout commit in-line in the xdr stream.
      
      Currently, the pnfs-objects layout driver uses it to encode metadata hints
      to the MDS and the blocks layout driver to commit provisionally allocated
      extents to the file.
      
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      ac7db726
    • Boaz Harrosh's avatar
      pnfs-obj: report errors and .encode_layoutreturn Implementation. · adb58535
      Boaz Harrosh authored
      
      
      An io_state pre-allocates an error information structure for each
      possible osd-device that might error during IO. When IO is done if all
      was well the io_state is freed. (as today). If the I/O has ended with an
      error, the io_state is queued on a per-layout err_list. When eventually
      encode_layoutreturn() is called, each error is properly encoded on the
      XDR buffer and only then the io_state is removed from err_list and
      de-allocated.
      
      It is up to the io_engine to fill in the segment that fault and the type
      of osd_error that occurred. By calling objlayout_io_set_result() for
      each failing device.
      
      In objio_osd:
      * Allocate io-error descriptors space as part of io_state
      * Use generic objlayout error reporting at end of io.
      
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      adb58535
    • Andy Adamson's avatar
      pnfs: encode_layoutreturn · 04a55549
      Andy Adamson authored
      
      
      Add a layout driver method to encode the layout type specific
      opaque part of layout return in-line in the xdr stream.
      
      Currently the pnfs-objects layout driver uses it to encode i/o error
      information on LAYOUTRETURN.
      
      Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
      [fixup layout header pointer for encode_layoutreturn]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      04a55549
    • Benny Halevy's avatar
      pnfs: layoutret_on_setattr · 8a1636c4
      Benny Halevy authored
      
      
      With the objects layout security model, we have object capabilities
      that are associated with the layout and we anticipate that the server
      will issue a cb_layoutrecall for any setattr that changes security
      related attributes (user/group/mode/acl) or truncates the file.
      
      Therefore, the layout is returned before issuing the setattr to avoid
      the anticipated cb_layoutrecall.
      
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      8a1636c4
    • Benny Halevy's avatar
      pnfs: layoutreturn · cbe82603
      Benny Halevy authored
      
      
      NFSv4.1 LAYOUTRETURN implementation
      
      Currently, does not support layout-type payload encoding.
      
      Signed-off-by: default avatarAlexandros Batsakis <batsakis@netapp.com>
      Signed-off-by: default avatarAndy Adamson <andros@citi.umich.edu>
      Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
      Signed-off-by: default avatarDean Hildebrand <dhildeb@us.ibm.com>
      Signed-off-by: default avatarFred Isaman <iisaman@citi.umich.edu>
      Signed-off-by: default avatarFred Isaman <iisaman@netapp.com>
      Signed-off-by: default avatarMarc Eshel <eshel@almaden.ibm.com>
      Signed-off-by: default avatarZhang Jingwang <zhangjingwang@nrchpc.ac.cn>
      [call pnfs_return_layout right before pnfs_destroy_layout]
      [remove assert_spin_locked from pnfs_clear_lseg_list]
      [remove wait parameter from the layoutreturn path.]
      [remove return_type field from nfs4_layoutreturn_args]
      [remove range from nfs4_layoutreturn_args]
      [no need to send layoutcommit from _pnfs_return_layout]
      [don't wait on sync layoutreturn]
      [fix layout stateid in layoutreturn args]
      [fixed NULL deref in _pnfs_return_layout]
      [removed recaim member of nfs4_layoutreturn_args]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      cbe82603