1. 29 Aug, 2012 5 commits
  2. 28 Aug, 2012 25 commits
    • Stefan Behrens's avatar
      Btrfs: fix that repair code is spuriously executed for transid failures · 256dd1bb
      Stefan Behrens authored
      If verify_parent_transid() fails for all mirrors, the current code
      calls repair_io_failure() anyway which means:
      - that the disk block is rewritten without repairing anything and
      - that a kernel log message is printed which misleadingly claims
        that a read error was corrected.
      This is an example:
      parent transid verify failed on 615015833600 wanted 110423 found 110424
      parent transid verify failed on 615015833600 wanted 110423 found 110424
      btrfs read error corrected: ino 1 off 615015833600 (dev /dev/...)
      It is wrong to ignore the results from verify_parent_transid() and to
      call repair_eb_io_failure() when the verification of the transids failed.
      This commit fixes the issue.
      Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Liu Bo's avatar
      Btrfs: fix ordered extent leak when failing to start a transaction · d280e5be
      Liu Bo authored
      We cannot just return error before freeing ordered extent and releasing reserved
      space when we fail to start a transacion.
      Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Liu Bo's avatar
      Btrfs: fix a dio write regression · 24c03fa5
      Liu Bo authored
      This bug is introduced by commit 3b8bde746f6f9bd36a9f05f5f3b6e334318176a9
      (Btrfs: lock extents as we map them in DIO).
      In dio write, we should unlock the section which we didn't do IO on in case that
      we fall back to buffered write.  But we need to not only unlock the section
      but also cleanup reserved space for the section.
      This bug was found while running xfstests 133, with this 133 no longer complains.
      Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Josef Bacik's avatar
      Btrfs: fix deadlock with freeze and sync V2 · bd7de2c9
      Josef Bacik authored
      We can deadlock with freeze right now because we unconditionally start a
      transaction in our ->sync_fs() call.  To fix this just check and see if we
      have a running transaction to commit.  This saves us from the deadlock
      because at this point we'll have the umount sem for the sb so we're safe
      from freezes coming in after we've done our check.  With this patch the
      freeze xfstests no longer deadlocks.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Stefan Behrens's avatar
      Btrfs: revert checksum error statistic which can cause a BUG() · 5ee0844d
      Stefan Behrens authored
      Commit 442a4f63
       added btrfs device
      statistic counters for detected IO and checksum errors to Linux 3.5.
      The statistic part that counts checksum errors in
      end_bio_extent_readpage() can cause a BUG() in a subfunction:
      "kernel BUG at fs/btrfs/volumes.c:3762!"
      That part is reverted with the current patch.
      However, the counting of checksum errors in the scrub context remains
      active, and the counting of detected IO errors (read, write or flush
      errors) in all contexts remains active.
      Cc: stable <stable@vger.kernel.org> # 3.5
      Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    • Stefan Behrens's avatar
      Btrfs: remove superblock writing after fatal error · 68ce9682
      Stefan Behrens authored
      With commit acce952b
      , btrfs was changed to flag the filesystem with
      BTRFS_SUPER_FLAG_ERROR and switch to read-only mode after a fatal
      error happened like a write I/O errors of all mirrors.
      In such situations, on unmount, the superblock is written in
      btrfs_error_commit_super(). This is done with the intention to be able
      to evaluate the error flag on the next mount. A warning is printed
      in this case during the next mount and the log tree is ignored.
      The issue is that it is possible that the superblock points to a root
      that was not written (due to write I/O errors).
      The result is that the filesystem cannot be mounted. btrfsck also does
      not start and all the other btrfs-progs tools fail to start as well.
      However, mount -o recovery is working well and does the right things
      to recover the filesystem (i.e., don't use the log root, clear the
      free space cache and use the next mountable root that is stored in the
      root backup array).
      This patch removes the writing of the superblock when
      BTRFS_SUPER_FLAG_ERROR is set, and removes the handling of the error
      flag in the mount function.
      These lines can be used to reproduce the issue (using /dev/sdm):
      echo 0 25165824 linear $SCRATCH_DEV 0 | dmsetup create foo
      ls -alLF /dev/mapper/foo
      mkfs.btrfs /dev/mapper/foo
      mount /dev/mapper/foo $SCRATCH_MNT
      echo bar > $SCRATCH_MNT/foo
      echo 0 25165824 error | dmsetup reload foo
      dmsetup resume foo
      ls -alF $SCRATCH_MNT
      touch $SCRATCH_MNT/1
      ls -alF $SCRATCH_MNT
      sleep 35
      echo 0 25165824 linear $SCRATCH_DEV 0 | dmsetup reload foo
      dmsetup resume foo
      sleep 1
      umount $SCRATCH_MNT
      btrfsck /dev/mapper/foo
      dmsetup remove foo
      Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
      Signed-off-by: default avatarJan Schmidt <list.btrfs@jan-o-sch.net>
    • Josef Bacik's avatar
      Btrfs: allow delayed refs to be merged · ae1e206b
      Josef Bacik authored
      Daniel Blueman reported a bug with fio+balance on a ramdisk setup.
      Basically what happens is the balance relocates a tree block which will drop
      the implicit refs for all of its children and adds a full backref.  Once the
      block is relocated we have to add the implicit refs back, so when we cow the
      block again we add the implicit refs for its children back.  The problem
      comes when the original drop ref doesn't get run before we add the implicit
      refs back.  The delayed ref stuff will specifically prefer ADD operations
      over DROP to keep us from freeing up an extent that will have references to
      it, so we try to add the implicit ref before it is actually removed and we
      panic.  This worked fine before because the add would have just canceled the
      drop out and we would have been fine.  But the backref walking work needs to
      be able to freeze the delayed ref stuff in time so we have this ever
      increasing sequence number that gets attached to all new delayed ref updates
      which makes us not merge refs and we run into this issue.
      So to fix this we need to merge delayed refs.  So everytime we run a
      clustered ref we need to try and merge all of its delayed refs.  The backref
      walking stuff locks the delayed ref head before processing, so if we have it
      locked we are safe to merge any refs inside of the sequence number.  If
      there is no sequence number we can merge all refs.  Doing this not only
      fixes our bug but keeps the delayed ref code from adding and removing
      useless refs and batching together multiple refs into one search instead of
      one search per delayed ref, which will really help our commit times.  I ran
      this with Daniels test and 276 and I haven't seen any problems.  Thanks,
      Reported-by: default avatarDaniel J Blueman <daniel@quora.org>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Josef Bacik's avatar
      Btrfs: fix enospc problems when deleting a subvol · 5a24e84c
      Josef Bacik authored
      Subvol delete is a special kind of awful where we use the global reserve to
      cover the ENOSPC requirements.  The problem is once we're done removing
      everything we do a btrfs_update_inode(), which by default will try to do the
      delayed update stuff which will use it's own reserve.  There will be no
      space in this reserve and we'll return ENOSPC.  So instead use
      btrfs_update_inode_fallback() which will just fallback to updating the inode
      item in the case of enospc.  This is fine because the global reserve covers
      the space requirements for this.  With this patch I can now delete a subvol
      on a problem image Dave Sterba sent me.  Thanks,
      Reported-by: default avatarDavid Sterba <dave@jikos.cz>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Miao Xie's avatar
      Btrfs: fix wrong mtime and ctime when creating snapshots · c0f62ded
      Miao Xie authored
      When we created a new snapshot, the mtime and ctime of its parent directory
      were not updated. Fix it.
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Arne Jansen's avatar
      Btrfs: fix race in run_clustered_refs · 22cd2e7d
      Arne Jansen authored
      With commit
      commit d1270cd9
      Author: Arne Jansen <sensille@gmx.net>
      Date:   Tue Sep 13 15:16:43 2011 +0200
           Btrfs: put back delayed refs that are too new
      I added a window where the delayed_ref's head->ref_mod code can diverge
      from the sum of the remaining refs, because we release the head->mutex
      in the middle. This leads to btrfs_lookup_extent_info returning wrong
      numbers. This patch fixes this by adjusting the head's ref_mod with each
      delayed ref we run.
      Signed-off-by: default avatarArne Jansen <sensille@gmx.net>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Chris Mason's avatar
      Btrfs: don't run __tree_mod_log_free_eb on leaves · b12a3b1e
      Chris Mason authored
      When we split a leaf, we may end up inserting a new root on top of that
      leaf.  The reflog code was incorrectly assuming the old root was always
      a node.  This makes sure we skip over leaves.
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Josef Bacik's avatar
      Btrfs: increase the size of the free space cache · 6fc823b1
      Josef Bacik authored
      Arne was complaining about the space cache having mismatching generation
      numbers when debugging a deadlock.  This is because we can run out of space
      in our preallocated range for our space cache if you have a pretty
      fragmented amount of space in your pinned space.  So just increase the
      amount of space we preallocate for space cache so we can be sure to have
      enough space.  This will only really affect data ranges since their the only
      chunks that end up larger than 256MB.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Josef Bacik's avatar
      Btrfs: barrier before waitqueue_active · 66657b31
      Josef Bacik authored
      We need a barrir before calling waitqueue_active otherwise we will miss
      wakeups.  So in places that do atomic_dec(); then atomic_read() use
      atomic_dec_return() which imply a memory barrier (see memory-barriers.txt)
      and then add an explicit memory barrier everywhere else that need them.
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Arne Jansen's avatar
      Btrfs: fix deadlock in wait_for_more_refs · 1fa11e26
      Arne Jansen authored
      Commit a168650c
       introduced a waiting mechanism to prevent busy waiting in
      btrfs_run_delayed_refs. This can deadlock with btrfs_run_ordered_operations,
      where a tree_mod_seq is held while waiting for the io to complete, while
      the end_io calls btrfs_run_delayed_refs.
      This whole mechanism is unnecessary. If not enough runnable refs are
      available to satisfy count, just return as count is more like a guideline
      than a strict requirement.
      In case we have to run all refs, commit transaction makes sure that no
      other threads are working in the transaction anymore, so we just assert
      here that no refs are blocked.
      Signed-off-by: default avatarArne Jansen <sensille@gmx.net>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
    • Fengguang Wu's avatar
      btrfs: fix second lock in btrfs_delete_delayed_items() · 62095265
      Fengguang Wu authored
      Fix a real bug caught by coccinelle.
      fs/btrfs/delayed-inode.c:1013:1-11: second lock on line 1013
      Signed-off-by: default avatarFengguang Wu <fengguang.wu@intel.com>
    • Josef Bacik's avatar
      Btrfs: don't allocate a seperate csums array for direct reads · c329861d
      Josef Bacik authored
      We've been allocating a big array for csums instead of storing them in the
      io_tree like we do for buffered reads because previously we were locking the
      entire range, so we didn't have an extent state for each sector of the
      range.  But now that we do the range locking as we map the buffers we can
      limit the mapping lenght to sectorsize and use the private part of the
      io_tree for our csums.  This allows us to avoid an extra memory allocation
      for direct reads which could incur latency.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Josef Bacik's avatar
      Btrfs: do not strdup non existent strings · 99f5944b
      Josef Bacik authored
      When we close devices we add back empty devices for some reason that escapes
      me.  In the case of a missing dev we don't allocate an rcu_string for it's
      name, so check to see if the device has a name and if it doesn't don't
      bother strdup()'ing it.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Josef Bacik's avatar
      Btrfs: do not use missing devices when showing devname · aa9ddcd4
      Josef Bacik authored
      If you do the following
      mkfs.btrfs /dev/sdb /dev/sdc
      rmmod btrfs
      dd if=/dev/zero of=/dev/sdb bs=1M count=1
      mount -o degraded /dev/sdc /mnt/btrfs-test
      the box will panic trying to deref the name for the missing dev since it is
      the lower numbered devid.  So fix show_devname to not use missing devices.
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Stefan Behrens's avatar
      Btrfs: fix that error value is changed by mistake · 3627bf45
      Stefan Behrens authored
      In iterate_inodes_from_logical() the error result from
      extent_from_logical() is patched by mistake. Typically ENOENT is
      patched to EINVAL because (-ENOENT & BTRFS_EXTENT_FLAG_TREE_BLOCK)
      evaluates to true.
      Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
    • Josef Bacik's avatar
      Btrfs: lock extents as we map them in DIO · eb838e73
      Josef Bacik authored
      A deadlock in xfstests 113 was uncovered by commit
      This is because we would not return EIOCBQUEUED for short AIO reads, instead
      we'd wait for the DIO to complete and then return the amount of data we
      transferred, which would allow our stuff to unlock the remaning amount.  But
      with this change this no longer happens, so if we have a short AIO read (for
      example if we try to read past EOF), we could leave the section from EOF to
      the end of where we tried to read locked.  Fixing this is tricky since there
      is no clear way to know exactly how much data DIO truly submitted for IO, so
      to make this less hard on ourselves and less combersome we need to lock the
      extents as we try to map them, and then we unlock any areas we didn't
      actually map.  This makes us completely safe from deadlocks and reliance on
      a particular behavior of the DIO code.  This also lays the groundwork for
      allowing us to use the normal csum storage method for reads which means we
      can remove an allocation.  Thanks,
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    • Dan Carpenter's avatar
      Btrfs: fix some endian bugs handling the root times · dadd1105
      Dan Carpenter authored
      "trans->transid" is cpu endian but we want to store the data as little
      endian.  "item->ctime.nsec" is only 32 bits, not 64.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    • Dan Carpenter's avatar
      Btrfs: unlock on error in btrfs_delalloc_reserve_metadata() · 55e591ff
      Dan Carpenter authored
      We should release this mutex before returning the error code.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    • Dan Carpenter's avatar
      Btrfs: checking for NULL instead of IS_ERR · 57a5a882
      Dan Carpenter authored
      add_qgroup_rb() never returns NULL, only error pointers.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    • Dan Carpenter's avatar
      Btrfs: fix some error codes in btrfs_qgroup_inherit() · 5986802c
      Dan Carpenter authored
      These are returning zero when it should be returning a negative error
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    • Stefan Behrens's avatar
      Btrfs: fix a misplaced address operator in a condition · aa2ffd06
      Stefan Behrens authored
      This should obviously not be "if (&flag)" but "if (flag)".
      Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
  3. 26 Aug, 2012 2 commits
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · c182ae42
      Linus Torvalds authored
      Pull a hwmon fix from Guenter Roeck:
       "Fix sensor readings for Asus M5A78L in asus_atk0110 driver."
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (asus_atk0110) Add quirk for Asus M5A78L
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream · 89a897fb
      Linus Torvalds authored
      Pull LogFS bugfixes from Prasad Joshi:
       - "logfs: query block device for number of pages to send with bio"
      	This BUG was found when LogFS was used on KVM. The patch fixes
      	the problem by asking for underlaying block device the number
      	of pages to send with each BIO.
       - "logfs: maintain the ordering of meta-inode destruction"
      	LogFS maintains file system meta-data in special inodes. These
      	inodes are releated to each other, therefore they must be
      	destroyed in a proper order.
       - "logfs: initialize the number of iovecs in bio"
      	LogFS used to panic when it was created on an encrypted LVM
      	volume. The patch fixes the problem by properly initializing
      	the BIO.
      Plus a couple more:
       - logfs: create a pagecache page if it is not present
       - logfs: destroy the reserved inodes while unmounting
      * tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream:
        logfs: query block device for number of pages to send with bio
        logfs: maintain the ordering of meta-inode destruction
        logfs: create a pagecache page if it is not present
        logfs: initialize the number of iovecs in bio
        logfs: destroy the reserved inodes while unmounting
  4. 25 Aug, 2012 8 commits
    • Linus Torvalds's avatar
      Merge tag 'fixes-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9acb1725
      Linus Torvalds authored
      Pull arm-soc fixes from Arnd Bergmann:
       "Bug fixes for various ARM platforms.  About half of these are for OMAP
        and submitted before but did not make it into v3.6-rc2."
      * tag 'fixes-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
        ARM: ux500: don't select LEDS_GPIO for snowball
        ARM: imx: build i.MX6 functions only when needed
        ARM: imx: select CPU_FREQ_TABLE when needed
        ARM: imx: fix ksz9021rn_phy_fixup
        ARM: imx: build pm-imx5 code only when PM is enabled
        ARM: omap: allow building omap44xx without SMP
        ARM: dts: imx51-babbage: fix esdhc cd/wp properties
        ARM: imx6: spin the cpu until hardware takes it down
        ARM: ux500: Ensure probing of Audio devices when Device Tree is enabled
        ARM: ux500: Fix merge error, no matching driver name for 'snd_soc_u8500'
        ARM i.MX6q: Add virtual 1/3.5 dividers in the LDB clock path
        ARM: Kirkwood: fix Makefile.boot
        ARM: Kirkwood: Fix iconnect leds
        ARM: Orion: Set eth packet size csum offload limit
        ARM: mv78xx0: fix win_cfg_base prototype
        ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*()
        ARM: mmp: fix potential NULL dereference
        ARM: OMAP4: Register the OPP table only for 4430 device
        cpufreq: OMAP: Handle missing frequency table on SMP systems
        ARM: OMAP4: sleep: Save the complete used register stack frame
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.6-rc3-tag' of... · 26756087
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      Pull three xen bug-fixes from Konrad Rzeszutek Wilk:
       - Revert the kexec fix which caused on non-kexec shutdowns a race.
       - Reuse existing P2M leafs - instead of requiring to allocate a large
         area of bootup virtual address estate.
       - Fix a one-off error when adding PFNs for balloon pages.
      * tag 'stable/for-linus-3.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.
        xen/p2m: Reuse existing P2M leafs if they are filled with 1:1 PFNs or INVALID.
        Revert "xen PVonHVM: move shared_info to MMIO before kexec"
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 4ae46147
      Linus Torvalds authored
      Pull powerpc fixes from Benjamin Herrenschmidt:
       "I meant to sent that earlier but got swamped with other things, so
        here are some powerpc fixes for 3.6.  A few regression fixes and some
        bug fixes that I deemed should still make it.
        There's a FSL update from Kumar with a bunch of defconfig updates
        along with a few embedded fixes.
        I also reverted my g5_defconfig update that I merged earlier as it was
        completely busted, not too sure what happened there, I'll do a new one
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        Revert "powerpc: Update g5_defconfig"
        powerpc/perf: Use pmc_overflow() to detect rolled back events
        powerpc: Fix VMX in interrupt check in POWER7 copy loops
        powerpc: POWER7 copy_to_user/copy_from_user patch applied twice
        powerpc: Fix personality handling in ppc64_personality()
        powerpc/dma-iommu: Fix IOMMU window check
        powerpc: Remove unnecessary ifdefs
        powerpc/kgdb: Restore current_thread_info properly
        powerpc/kgdb: Bail out of KGDB when we've been triggered
        powerpc/kgdb: Do not set kgdb_single_step on ppc
        powerpc/mpic_msgr: Add missing includes
        powerpc: Fix null pointer deref in perf hardware breakpoints
        powerpc: Fixup whitespace in xmon
        powerpc: Fix xmon dl command for new printk implementation
        powerpc/fsl: fix "Failed to mount /dev: No such device" errors
        powerpc/fsl: update defconfigs
        booke/wdt: some ioctls do not return values properly
        powerpc/p4080ds: dts - add usb controller version info and port0
        powerpc/85xx: mpc85xx_defconfig - add VIA PATA support for MPC85xxCDS
        powerpc/fsl-pci: Only scan PCI bus if configured as a host
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 6ec9776c
      Linus Torvalds authored
      Pull kvm fixes from Marcelo Tosatti.
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86 emulator: use stack size attribute to mask rsp in stack ops
        KVM: MMU: Fix mmu_shrink() so that it can free mmu pages as intended
        ppc: e500_tlb memset clears nothing
        KVM: PPC: Add cache flush on page map
        KVM: PPC: Book3S HV: Fix incorrect branch in H_CEDE code
        KVM: x86: update KVM_SAVE_MSRS_BEGIN to correct value
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs · e1d33a5c
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       - fix uninitialised variable in xfs_rtbuf_get()
       - unlock the AGI buffer when looping in xfs_dialloc
       - check for possible overflow in xfs_ioc_trim
      * tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: check for possible overflow in xfs_ioc_trim
        xfs: unlock the AGI buffer when looping in xfs_dialloc
        xfs: fix uninitialised variable in xfs_rtbuf_get()
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 2432cbe4
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Random fixes across the MIPS tree.  The two hotspots are several bugs
        in the module loader and the ath79 SOC support; also noteworthy is the
        restructuring of the code to synchronize CPU timers across CPUs on
        startup; the old code recently ceased to work due to unrelated
        All except one of these patches have sat for a significant time in
        linux-next for testing."
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module
        MIPS: Malta: Delete duplicate PCI fixup.
        MIPS: ath79: don't hardcode the unavailability of the DSP ASE
        MIPS: Synchronize MIPS count one CPU at a time
        MIPS: BCM63xx: Fix SPI message control register handling for BCM6338/6348.
        MIPS: Module: Deal with malformed HI16/LO16 relocation sequences.
        MIPS: Fix race condition in module relocation code.
        MIPS: Fix memory leak in error path of HI16/LO16 relocation handling.
        MIPS: MTX-1: Add udelay to mtx1_pci_idsel
        MIPS: ath79: select HAVE_CLK
        MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240
        MIPS: ath79: Fix number of GPIO lines for AR724[12]
        MIPS: Octeon: Fix broken interrupt controller code.
    • Linus Torvalds's avatar
      Merge branch 'for-3.6' of git://linux-nfs.org/~bfields/linux · 8497ae61
      Linus Torvalds authored
      Pull nfsd bugfixes from J. Bruce Fields:
       "Particular thanks to Michael Tokarev, Malahal Naineni, and Jamie
        Heilman for their testing and debugging help."
      * 'for-3.6' of git://linux-nfs.org/~bfields/linux:
        svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping
        svcrpc: sends on closed socket should stop immediately
        svcrpc: fix BUG() in svc_tcp_clear_pages
        nfsd4: fix security flavor of NFSv4.0 callback
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · a7e546f1
      Linus Torvalds authored
      Pull block-related fixes from Jens Axboe:
       - Improvements to the buffered and direct write IO plugging from
       - Abstract out the mapping of a bio in a request, and use that to
         provide a blk_bio_map_sg() helper.  Useful for mapping just a bio
         instead of a full request.
       - Regression fix from Hugh, fixing up a patch that went into the
         previous release cycle (and marked stable, too) attempting to prevent
         a loop in __getblk_slow().
       - Updates to discard requests, fixing up the sizing and how we align
         them.  Also a change to disallow merging of discard requests, since
         that doesn't really work properly yet.
       - A few drbd fixes.
       - Documentation updates.
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: replace __getblk_slow misfix by grow_dev_page fix
        drbd: Write all pages of the bitmap after an online resize
        drbd: Finish requests that completed while IO was frozen
        drbd: fix drbd wire compatibility for empty flushes
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update missing index files in block/00-INDEX
        block: move down direct IO plugging
        block: remove plugging at buffered write time
        block: disable discard request merge temporarily
        bio: Fix potential memory leak in bio_find_or_create_slab()
        block: Don't use static to define "void *p" in show_partition_start()
        block: Add blk_bio_map_sg() helper
        block: Introduce __blk_segment_map_sg() helper
        fs/block-dev.c:fix performance regression in O_DIRECT writes to md block devices
        block: split discard into aligned requests
        block: reorganize rounding of max_discard_sectors