Skip to content
  1. Jun 10, 2011
  2. Jun 09, 2011
  3. 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>
      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
    • Boaz Harrosh's avatar
      pnfs-obj: osd raid engine read/write implementation · 04f83450
      Boaz Harrosh authored
      
      
      With the use of the in-kernel osd library. Implement read/write
      of data from/to osd-objects according to information specified
      in the objects-layout.
      
      Support for stripping over mirrors with a received stripe_unit.
      There are however a few constrains which are not supported:
       1. Stripe Unit must be a multiple of PAGE_SIZE
       2. stripe length (stripe_unit * number_of_stripes) can not be
          bigger then 32bit.
      
      Also support raid-groups and partial-layout. Partial-layout is
      when not all the groups are received on the line, addressing
      only a partial range of the file.
      
      TODO:
        Only raid0! raid 4/5/6 support will come at later stage
      
      A none supported layout will send IO through the MDS
      
      [Important fallout from the last rebase]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      [gfp_flags]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      04f83450
    • Benny Halevy's avatar
      pnfs: support for non-rpc layout drivers · d20581aa
      Benny Halevy authored
      
      
      Non-rpc layout driver such as for objects and blocks
      implement their own I/O path and error handling logic.
      Therefore bypass NFS-based error handling for these layout drivers.
      
      [fix lseg ref-count bugs, and null de-refs]
      [Fall out from: non-rpc layout drivers]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      [get rid of PNFS_USE_RPC_CODE]
      [get rid of __nfs4_write_done_cb]
      [revert useless change in nfs4_write_done_cb]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      d20581aa
    • Benny Halevy's avatar
      pnfs-obj: define per-inode private structure · e51b841d
      Benny Halevy authored
      
      
      allocate and deallocate per-inode private pnfs_layout_hdr
      in preparation for I/O implementation.
      
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      e51b841d
    • Benny Halevy's avatar
      pnfs: alloc and free layout_hdr layoutdriver methods · 636fb9c8
      Benny Halevy authored
      
      
      [gfp_flags]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      636fb9c8
    • Boaz Harrosh's avatar
      pnfs-obj: objio_osd device information retrieval and caching · b6c05f16
      Boaz Harrosh authored
      
      
      When a new layout is received in objio_alloc_lseg all device_ids
      referenced are retrieved. The device information is queried for from MDS
      and then the osd_device is looked-up from the osd-initiator library. The
      devices are cached in a per-mount-point list, for later use. At unmount
      all devices are "put" back to the library.
      
      objlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware
      API for retrieving device information given a device_id.
      
      TODO: The device cache can get big. Cap its size. Keep an LRU and start
            to return devices which were not used, when list gets to big, or
            when new entries allocation fail.
      
      [pnfs-obj: Bugs in new global-device-cache code]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      [gfp_flags]
      [use global device cache]
      [use layout driver in global device cache]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      b6c05f16
    • Boaz Harrosh's avatar
      pnfs-obj: decode layout, alloc/free lseg · 09f5bf4e
      Boaz Harrosh authored
      
      
      objlayout_alloc_lseg prepares an xdr_stream and calls the
      raid engins objio_alloc_lseg() to allocate a private
      pnfs_layout_segment.
      
      objio_osd.c::objio_alloc_lseg() uses passed xdr_stream to
      decode and store the layout_segment information in an
      objio_segment struct, using the pnfs_osd_xdr.h API for
      the actual parsing the layout xdr.
      
      objlayout_free_lseg calls objio_free_lseg() to free the
      allocated space.
      
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      [gfp_flags]
      [removed "extern" from function definitions]
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      09f5bf4e
    • Boaz Harrosh's avatar
      pnfs-obj: pnfs_osd XDR client implementation · f1bc893a
      Boaz Harrosh authored
      
      
      * Add the fs/nfs/objlayout/pnfs_osd_xdr_cli.c file, which will
        include the XDR encode/decode implementations for the pNFS
        client objlayout driver.
      
      [Wrong type in comments]
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
      f1bc893a