1. 24 6月, 2011 14 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6 · 7a1f7b3d
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6:
        tcm_fc: Fix conversion spec warning
        tcm_fc: Fix possible lock to unlock type deadlock
        tcm_fc: Fix ft_send_tm LUN lookup OOPs
        target: Fix incorrect strlen() NULL terminator checks
        target: Drop bogus ERR_PTR usage in target_fabric_configfs_init
        target: Fix ERR_PTR dereferencing bugs
        target: Convert transport_deregister_session_configfs nacl_sess_lock to save irq state
        target: Fix transport_get_lun_for_tmr failure cases
        [SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions
        [SCSI] target: Convert REPORT_LUNs to use int_to_scsilun
        [SCSI] target: Fix task->task_execute_queue=1 clear bug + LUN_RESET OOPs
        [SCSI] target: Fix bug with task_sg chained transport_free_dev_tasks release
        [SCSI] target: Fix interrupt context bug with stats_lock and core_tmr_alloc_req
        [SCSI] target: Fix multi task->task_sg[] chaining logic bug
      7a1f7b3d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · 12f1ba5a
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
        x86/PCI/ACPI: fix type mismatch
        PCI: fix new kernel-doc warning
        PCI: Fix warning in drivers/pci/probe.c on sparc64
      12f1ba5a
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 143e859d
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: fix wsize negotiation to respect max buffer size and active signing (try #4)
        CIFS: Fix problem with 3.0-rc1 null user mount failure
      143e859d
    • J
      Remove unneeded version.h includes from fs/ · 46e4edbf
      Jesper Juhl 提交于
      It was pointed out by 'make versioncheck' that some includes of
      linux/version.h were not needed in fs/ (fs/btrfs/ctree.h and
      fs/omfs/file.c).
      
      This patch removes them.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Acked-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      46e4edbf
    • N
      tcm_fc: Fix conversion spec warning · 95efa286
      Nicholas Bellinger 提交于
      This patch fixes the following conversion specification warning for size_t
      
      drivers/target/tcm_fc/tfc_io.c: In function ‘ft_queue_data_in’:
      drivers/target/tcm_fc/tfc_io.c:209: warning: format ‘%x’ expects type ‘unsigned int’, but argument 5 has type ‘size_t’
      Reported-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      95efa286
    • D
      tcm_fc: Fix possible lock to unlock type deadlock · 7c7cf3b9
      Dan Carpenter 提交于
      There is a typo here, it should be an unlock instead of a lock.  The
      original code will deadlock.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      7c7cf3b9
    • K
      tcm_fc: Fix ft_send_tm LUN lookup OOPs · 61db9527
      Kiran Patil 提交于
      This patch fixes a bug in ft_send_tm() that was incorrectly calling
      ft_get_lun_for_cmd() -> transport_get_lun_for_cmd(), instead of using
      transport_get_lun_for_tmr() for the proper struct se_lun lookup
      that was triggering an OOPs in the se_cmd->tmr_req failure path.
      
      This patch fixes the issue by re-arranging the codepath where
      transport_get_lun_for_tmr() is called after tmr request is allocated and
      made it available as part of se_cmd.
      
      It also drops the now unnecessary ft_get_lun_for_cmd() unpacking code, and
      uses scsilun_to_int() directly ahead of transport_get_lun_for_cmd() and
      transport_get_lun_for_tmr() usage.
      Signed-off-by: NPatil, Kiran <kiran.patil@intel.com>
      Signed-off-by: NRobert Love <robert.w.love@intel.com>
      Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
      61db9527
    • D
      target: Fix incorrect strlen() NULL terminator checks · 60d645a4
      Dan Carpenter 提交于
      This patch fixes a number of cases in target core using an incorrectly
      
      	if (strlen(foo) > SOME_MAX_SIZE)
      
      As strlen() returns the number of characters in the string not counting
      the NULL character at the end.  So if you do something like:
      
              char buf[10];
      
              if (strlen("0123456789") > 10)
                      return -ETOOLONG;
              snprintf(buf, 10, "0123456789");
              printf("%s\n", buf);
      
      then the last "9" gets chopped off and only "012345678" is printed.
      
      Plus I threw in one small related cleanup.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      60d645a4
    • D
      target: Drop bogus ERR_PTR usage in target_fabric_configfs_init · 5eff5be0
      Dan Carpenter 提交于
      In the original code, there were several places inside the
      target_fabric_configfs_init() function that returned NULL on error
      and one place the returned an ERR_PTR.  There are two places that
      call this function and they only check for NULL returns; they don't
      check for ERR_PTRs.  So I've changed the ERR_PTR so now the function
      only returns NULL on error.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      5eff5be0
    • D
      target: Fix ERR_PTR dereferencing bugs · 552523dc
      Dan Carpenter 提交于
      transport_init_session() and core_tmr_alloc_req() never return NULL,
      they only return ERR_PTRs on error.
      
      v2: Fix patch to return PTR_ERR(tl_nexus->se_sess) from Ankit Jain's
      feedback.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NAnkit Jain <jankit@suse.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      552523dc
    • R
      target: Convert transport_deregister_session_configfs nacl_sess_lock to save irq state · 23388864
      Roland Dreier 提交于
      This patch converts transport_deregister_session_configfs() to save/restore
      spinlock IRQ state for struct se_node_acl->nacl_sess_lock access as tcm_qla2xxx
      logic expects to call transport_deregister_session_configfs() code with
      irq save already held for struct qla_hw_data.
      Reported-by: NRoland Dreier <roland@purestorage.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      23388864
    • N
      target: Fix transport_get_lun_for_tmr failure cases · 7fd29aa9
      Nicholas Bellinger 提交于
      This patch fixes two possible NULL pointer dereferences in target v4.0
      code where se_tmr release path in core_tmr_release_req() can OOPs upon
      transport_get_lun_for_tmr() failure by attempting to access se_device or
      se_tmr->tmr_list without a valid member of se_device->tmr_list during
      transport_free_se_cmd() release.  This patch moves the se_tmr->tmr_dev
      pointer assignment in transport_get_lun_for_tmr() until after possible
      -ENODEV failures during unpacked_lun lookup.
      
      This addresses an OOPs originally reported with LIO v4.1 upstream on
      .39 code here:
      
          TARGET_CORE[qla2xxx]: Detected NON_EXISTENT_LUN Access for 0x00000000
          BUG: unable to handle kernel NULL pointer dereference at 0000000000000550
          IP: [<ffffffff81035ec4>] __ticket_spin_trylock+0x4/0x20
          PGD 0
          Oops: 0000 [#1] SMP
          last sysfs file: /sys/devices/system/cpu/cpu23/cache/index2/shared_cpu_map
          CPU 1
          Modules linked in: netconsole target_core_pscsi target_core_file
      tcm_qla2xxx target_core_iblock tcm_loop target_core_mod configfs
      ipmi_devintf ipmi_si ipmi_msghandler serio_raw i7core_edac ioatdma dca
      edac_core ps_bdrv ses enclosure usbhid usb_storage ahci qla2xxx hid
      uas e1000e mpt2sas libahci mlx4_core scsi_transport_fc
      scsi_transport_sas raid_class scsi_tgt [last unloaded: netconsole]
      
          Pid: 0, comm: kworker/0:0 Tainted: G        W   2.6.39+ #1 Xyratex Storage Server
          RIP: 0010:[<ffffffff81035ec4>] [<ffffffff81035ec4>]__ticket_spin_trylock+0x4/0x20
          RSP: 0018:ffff88063e803c08  EFLAGS: 00010286
          RAX: ffff880619ab45e0 RBX: 0000000000000550 RCX: 0000000000000000
          RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000550
          RBP: ffff88063e803c08 R08: 0000000000000002 R09: 0000000000000000
          R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000568
          R13: 0000000000000001 R14: 0000000000000000 R15: ffff88060cd96a20
          FS:  0000000000000000(0000) GS:ffff88063e800000(0000) knlGS:0000000000000000
          CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
          CR2: 0000000000000550 CR3: 0000000001a03000 CR4: 00000000000006e0
          DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
          DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
          Process kworker/0:0 (pid: 0, threadinfo ffff880619ab8000, task ffff880619ab45e0)
          Stack:
           ffff88063e803c28 ffffffff812cf039 0000000000000550 0000000000000568
           ffff88063e803c58 ffffffff8157071e ffffffffa028a1dc ffff88060f7e4600
           0000000000000550 ffff880616961480 ffff88063e803c78 ffffffffa028a1dc
          Call Trace:
      <IRQ>
           [<ffffffff812cf039>] do_raw_spin_trylock+0x19/0x50
           [<ffffffff8157071e>] _raw_spin_lock+0x3e/0x70
           [<ffffffffa028a1dc>] ? core_tmr_release_req+0x2c/0x60 [target_core_mod]
           [<ffffffffa028a1dc>] core_tmr_release_req+0x2c/0x60 [target_core_mod]
           [<ffffffffa028d0d2>] transport_free_se_cmd+0x22/0x50 [target_core_mod]
           [<ffffffffa028d120>] transport_release_cmd_to_pool+0x20/0x40 [target_core_mod]
           [<ffffffffa028e525>] transport_generic_free_cmd+0xa5/0xb0 [target_core_mod]
           [<ffffffffa0147cc4>] tcm_qla2xxx_handle_tmr+0xc4/0xd0 [tcm_qla2xxx]
           [<ffffffffa0191ba3>] __qla24xx_handle_abts+0xd3/0x150 [qla2xxx]
           [<ffffffffa0197651>] qla_tgt_response_pkt+0x171/0x520 [qla2xxx]
           [<ffffffffa0197a2d>] qla_tgt_response_pkt_all_vps+0x2d/0x220 [qla2xxx]
           [<ffffffffa0171dd3>] qla24xx_process_response_queue+0x1a3/0x670 [qla2xxx]
           [<ffffffffa0196281>] ? qla24xx_atio_pkt+0x81/0x120 [qla2xxx]
           [<ffffffffa0174025>] ? qla24xx_msix_default+0x45/0x2a0 [qla2xxx]
           [<ffffffffa0174198>] qla24xx_msix_default+0x1b8/0x2a0 [qla2xxx]
           [<ffffffff810dadb4>] handle_irq_event_percpu+0x54/0x210
           [<ffffffff810dafb8>] handle_irq_event+0x48/0x70
           [<ffffffff810dd5ee>] ? handle_edge_irq+0x1e/0x110
           [<ffffffff810dd647>] handle_edge_irq+0x77/0x110
           [<ffffffff8100d362>] handle_irq+0x22/0x40
           [<ffffffff8157b28d>] do_IRQ+0x5d/0xe0
           [<ffffffff81571413>] common_interrupt+0x13/0x13
      <EOI>
           [<ffffffff813003f7>] ? intel_idle+0xd7/0x130
           [<ffffffff813003f0>] ? intel_idle+0xd0/0x130
           [<ffffffff8144832b>] cpuidle_idle_call+0xab/0x1c0
           [<ffffffff8100a26b>] cpu_idle+0xab/0xf0
           [<ffffffff81566c59>] start_secondary+0x1cb/0x1d2
      Reported-by: NRoland Dreier <roland@purestorage.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      7fd29aa9
    • N
    • J
      cifs: fix wsize negotiation to respect max buffer size and active signing (try #4) · 1190f6a0
      Jeff Layton 提交于
      Hopefully last version. Base signing check on CAP_UNIX instead of
      tcon->unix_ext, also clean up the comments a bit more.
      
      According to Hongwei Sun's blog posting here:
      
          http://blogs.msdn.com/b/openspecification/archive/2009/04/10/smb-maximum-transmit-buffer-size-and-performance-tuning.aspx
      
      CAP_LARGE_WRITEX is ignored when signing is active. Also, the maximum
      size for a write without CAP_LARGE_WRITEX should be the maxBuf that
      the server sent in the NEGOTIATE request.
      
      Fix the wsize negotiation to take this into account. While we're at it,
      alter the other wsize definitions to use sizeof(WRITE_REQ) to allow for
      slightly larger amounts of data to potentially be written per request.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <sfrench@us.ibm.com>
      1190f6a0
  2. 23 6月, 2011 8 次提交
  3. 22 6月, 2011 13 次提交
    • D
      KEYS: Fix error handling in construct_key_and_link() · b1d7dd80
      David Howells 提交于
      Fix error handling in construct_key_and_link().
      
      If construct_alloc_key() returns an error, it shouldn't pass out through
      the normal path as the key_serial() called by the kleave() statement
      will oops when it gets an error code in the pointer:
      
        BUG: unable to handle kernel paging request at ffffffffffffff84
        IP: [<ffffffff8120b401>] request_key_and_link+0x4d7/0x52f
        ..
        Call Trace:
         [<ffffffff8120b52c>] request_key+0x41/0x75
         [<ffffffffa00ed6e8>] cifs_get_spnego_key+0x206/0x226 [cifs]
         [<ffffffffa00eb0c9>] CIFS_SessSetup+0x511/0x1234 [cifs]
         [<ffffffffa00d9799>] cifs_setup_session+0x90/0x1ae [cifs]
         [<ffffffffa00d9c02>] cifs_get_smb_ses+0x34b/0x40f [cifs]
         [<ffffffffa00d9e05>] cifs_mount+0x13f/0x504 [cifs]
         [<ffffffffa00caabb>] cifs_do_mount+0xc4/0x672 [cifs]
         [<ffffffff8113ae8c>] mount_fs+0x69/0x155
         [<ffffffff8114ff0e>] vfs_kern_mount+0x63/0xa0
         [<ffffffff81150be2>] do_kern_mount+0x4d/0xdf
         [<ffffffff81152278>] do_mount+0x63c/0x69f
         [<ffffffff8115255c>] sys_mount+0x88/0xc2
         [<ffffffff814fbdc2>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b1d7dd80
    • D
      MN10300: asm/uaccess.h needs to #include linux/kernel.h for might_sleep() · 35052cff
      David Howells 提交于
      MN10300's asm/uaccess.h needs to #include linux/kernel.h to get might_sleep()
      otherwise it fails to build on MN10300 allyesconfig.  This fails in a few
      places with messages like the following:
      
        In file included from security/keys/trusted.c:14:
        include/linux/uaccess.h: In function '__copy_from_user_nocache':
        include/linux/uaccess.h:52: error: implicit declaration of function 'might_sleep'
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      35052cff
    • L
      Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 2992c4bd
      Linus Torvalds 提交于
      * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
        NFS: Fix decode_secinfo_maxsz
        NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test
        NFSv4.1: Fix some issues with pnfs_generic_pg_test
        NFSv4.1: file layout must consider pg_bsize for coalescing
        pnfs-obj: No longer needed to take an extra ref at add_device
        SUNRPC: Ensure the RPC client only quits on fatal signals
        NFSv4: Fix a readdir regression
        nfs4.1: mark layout as bad on error path in _pnfs_return_layout
        nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout
        NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path
        NFS: (d)printks should use %zd for ssize_t arguments
        NFSv4.1: fix break condition in pnfs_find_lseg
        nfs4.1: fix several problems with _pnfs_return_layout
        NFSv4.1: allow zero fh array in filelayout decode layout
        NFSv4.1: allow nfs_fhget to succeed with mounted on fileid
        NFSv4.1: Fix a refcounting issue in the pNFS device id cache
        NFSv4.1: deprecate headerpadsz in CREATE_SESSION
        NFS41: do not update isize if inode needs layoutcommit
        NLM: Don't hang forever on NLM unlock requests
        NFS: fix umount of pnfs filesystems
      2992c4bd
    • R
      PCI / PM: Block races between runtime PM and system sleep · a5f76d5e
      Rafael J. Wysocki 提交于
      After commit e8665002
      (PM: Allow pm_runtime_suspend() to succeed during system suspend) it
      is possible that a device resumed by the pm_runtime_resume(dev) in
      pci_pm_prepare() will be suspended immediately from a work item,
      timer function or otherwise, defeating the very purpose of calling
      pm_runtime_resume(dev) from there.  To prevent that from happening
      it is necessary to increment the runtime PM usage counter of the
      device by replacing pm_runtime_resume() with pm_runtime_get_sync().
      Moreover, the incremented runtime PM usage counter has to be
      decremented by the corresponding pci_pm_complete(), via
      pm_runtime_put_sync().
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: stable@kernel.org
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      a5f76d5e
    • R
      PM / Domains: Update documentation · ca9c6890
      Rafael J. Wysocki 提交于
      Commit 4d27e9dc (PM: Make power
      domain callbacks take precedence over subsystem ones) forgot to
      update the device power management documentation to take changes
      made by it into account.  Correct that mistake.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      ca9c6890
    • R
      PM / Runtime: Handle clocks correctly if CONFIG_PM_RUNTIME is unset · 4d1518f5
      Rafael J. Wysocki 提交于
      Commit 85eb8c8d (PM / Runtime:
      Generic clock manipulation rountines for runtime PM (v6)) converted
      the shmobile platform to using generic code for runtime PM clock
      management, but it changed the behavior for CONFIG_PM_RUNTIME unset
      incorrectly.
      
      Specifically, for CONFIG_PM_RUNTIME unset pm_runtime_clk_notify()
      should enable clocks for action equal to BUS_NOTIFY_BIND_DRIVER and
      it should disable them for action equal to BUS_NOTIFY_UNBOUND_DRIVER
      (instead of BUS_NOTIFY_ADD_DEVICE and BUS_NOTIFY_DEL_DEVICE,
      respectively).  Make this function behave as appropriate.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NMagnus Damm <damm@opensource.se>
      4d1518f5
    • A
      PM: Fix async resume following suspend failure · 6d0e0e84
      Alan Stern 提交于
      The PM core doesn't handle suspend failures correctly when it comes to
      asynchronously suspended devices.  These devices are moved onto the
      dpm_suspended_list as soon as the corresponding async thread is
      started up, and they remain on the list even if they fail to suspend
      or the sleep transition is cancelled before they get suspended.  As a
      result, when the PM core unwinds the transition, it tries to resume
      the devices even though they were never suspended.
      
      This patch (as1474) fixes the problem by adding a new "is_suspended"
      flag to dev_pm_info.  Devices are resumed only if the flag is set.
      
      [rjw:
       * Moved the dev->power.is_suspended check into device_resume(),
         because we need to complete dev->power.completion and clear
         dev->power.is_prepared too for devices whose
         dev->power.is_suspended flags are unset.
       * Fixed __device_suspend() to avoid setting dev->power.is_suspended
         if async_error is different from zero.]
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: stable@kernel.org
      6d0e0e84
    • M
      PM: Free memory bitmaps if opening /dev/snapshot fails · 8440f4b1
      Michal Kubecek 提交于
      When opening /dev/snapshot device, snapshot_open() creates memory
      bitmaps which are freed in snapshot_release(). But if any of the
      callbacks called by pm_notifier_call_chain() returns NOTIFY_BAD, open()
      fails, snapshot_release() is never called and bitmaps are not freed.
      Next attempt to open /dev/snapshot then triggers BUG_ON() check in
      create_basic_memory_bitmaps(). This happens e.g. when vmwatchdog module
      is active on s390x.
      Signed-off-by: NMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: stable@kernel.org
      8440f4b1
    • A
      PM: Rename dev_pm_info.in_suspend to is_prepared · f76b168b
      Alan Stern 提交于
      This patch (as1473) renames the "in_suspend" field in struct
      dev_pm_info to "is_prepared", in preparation for an upcoming change.
      The new name is more descriptive of what the field really means.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: stable@kernel.org
      f76b168b
    • R
      PM: Update documentation regarding sysdevs · 78420884
      Rafael J. Wysocki 提交于
      The part of Documentation/power/devices.txt regarding sysdevs is not
      valid any more after commit 2e711c04
      (PM: Remove sysdev suspend, resume and shutdown operations), so
      remove it.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      78420884
    • K
      PM / Runtime: Update doc: usage count no longer incremented across system PM · 129b656a
      Kevin Hilman 提交于
      Commit e8665002 (PM: Allow
      pm_runtime_suspend() to succeed during system suspend) removed usage
      count increment across system PM.
      
      Update doc to reflect this.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      129b656a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · e08f6d41
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/qib: Ensure that LOS and DFE are being turned off
        RDMA/cxgb4: Couple of abort fixes
        RDMA/cxgb4: Don't truncate MR lengths
        RDMA/cxgb4: Don't exceed hw IQ depth limit for user CQs
      e08f6d41
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 890879cf
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        jbd2: Fix oops in jbd2_journal_remove_journal_head()
        jbd2: Remove obsolete parameters in the comments for some jbd2 functions
        ext4: fixed tracepoints cleanup
        ext4: use FIEMAP_EXTENT_LAST flag for last extent in fiemap
        ext4: Fix max file size and logical block counting of extent format file
        ext4: correct comments for ext4_free_blocks()
      890879cf
  4. 21 6月, 2011 5 次提交
    • B
      NFS: Fix decode_secinfo_maxsz · 1650add2
      Bryan Schumaker 提交于
      I initially did the calculation in bytes, and not words
      Signed-off-by: NBryan Schumaker <bjschuma@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      1650add2
    • T
      NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test · 19982ba8
      Trond Myklebust 提交于
      And document what is going on there...
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      19982ba8
    • T
      NFSv4.1: Fix some issues with pnfs_generic_pg_test · 8f7d5efb
      Trond Myklebust 提交于
      1. If the intention is to coalesce requests 'prev' and 'req' then we
         have to ensure at least that we have a layout starting at
         req_offset(prev).
      
      2. If we're only requesting a minimal layout of length desc->pg_count,
         we need to test the length actually returned by the server before
         we allow the coalescing to occur.
      
      3. We need to deal correctly with (pgio->lseg == NULL)
      
      4. Fixup the test guarding the pnfs_update_layout.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      8f7d5efb
    • L
      Linux 3.0-rc4 · 56299378
      Linus Torvalds 提交于
      56299378
    • L
      vfs: i_state needs to be 'unsigned long' for now · 79568f5b
      Linus Torvalds 提交于
      Commit 13e12d14 ("vfs: reorganize 'struct inode' layout a bit")
      moved things around a bit changed i_state to be unsigned int instead of
      unsigned long.  That was to help structure layout for the 64-bit case,
      and shrink 'struct inode' a bit (admittedly that only happened when
      spinlock debugging was on and i_flags didn't pack with i_lock).
      
      However, Meelis Roos reports that this results in unaligned exceptions
      on sprc, and it turns out that the bit-locking primitives that we use
      for the I_NEW bit want to use the bitops.  Which want 'unsigned long',
      not 'unsigned int'.
      
      We really should fix the bit locking code to not have that kind of
      requirement, but that's a much bigger change.  So for now, revert that
      field back to 'unsigned long' (but keep the other re-ordering changes
      from the commit that caused this).
      
      Andi points out that we have played games with this in 'struct page', so
      it's solvable with other hacks too, but since right now the struct inode
      size advantage only happens with some rare config options, it's not
      worth fighting.
      
      It _would_ be worth fixing the bitlocking code, though.  Especially
      since there is no type safety in the bitlocking code (this never caused
      any warnings, and worked fine on x86-64, because the bitlocks take a
      'void *' and x86-64 doesn't care that deeply about alignment).  So it's
      currently a very easy problem to trigger by mistake and never notice.
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      79568f5b