1. 23 8月, 2012 1 次提交
    • H
      block: replace __getblk_slow misfix by grow_dev_page fix · 676ce6d5
      Hugh Dickins 提交于
      Commit 91f68c89 ("block: fix infinite loop in __getblk_slow")
      is not good: a successful call to grow_buffers() cannot guarantee
      that the page won't be reclaimed before the immediate next call to
      __find_get_block(), which is why there was always a loop there.
      
      Yesterday I got "EXT4-fs error (device loop0): __ext4_get_inode_loc:3595:
      inode #19278: block 664: comm cc1: unable to read itable block" on console,
      which pointed to this commit.
      
      I've been trying to bisect for weeks, why kbuild-on-ext4-on-loop-on-tmpfs
      sometimes fails from a missing header file, under memory pressure on
      ppc G5.  I've never seen this on x86, and I've never seen it on 3.5-rc7
      itself, despite that commit being in there: bisection pointed to an
      irrelevant pinctrl merge, but hard to tell when failure takes between
      18 minutes and 38 hours (but so far it's happened quicker on 3.6-rc2).
      
      (I've since found such __ext4_get_inode_loc errors in /var/log/messages
      from previous weeks: why the message never appeared on console until
      yesterday morning is a mystery for another day.)
      
      Revert 91f68c89, restoring __getblk_slow() to how it was (plus
      a checkpatch nitfix).  Simplify the interface between grow_buffers()
      and grow_dev_page(), and avoid the infinite loop beyond end of device
      by instead checking init_page_buffers()'s end_block there (I presume
      that's more efficient than a repeated call to blkdev_max_block()),
      returning -ENXIO to __getblk_slow() in that case.
      
      And remove akpm's ten-year-old "__getblk() cannot fail ... weird"
      comment, but that is worrying: are all users of __getblk() really
      now prepared for a NULL bh beyond end of device, or will some oops??
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: stable@vger.kernel.org # 3.0 3.2 3.4 3.5
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      676ce6d5
  2. 17 8月, 2012 1 次提交
  3. 16 8月, 2012 3 次提交
    • P
      drbd: Write all pages of the bitmap after an online resize · d1aa4d04
      Philipp Reisner 提交于
      We need to write the whole bitmap after we moved the meta data
      due to an online resize operation.
      
      With the support for one peta byte devices bitmap IO was optimized
      to only write out touched pages. This optimization must be turned
      off when writing the bitmap after an online resize.
      
      This issue was introduced with drbd-8.3.10.
      
      The impact of this bug is that after an online resize, the next
      resync could become larger than expected.
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
      d1aa4d04
    • P
      drbd: Finish requests that completed while IO was frozen · 509fc019
      Philipp Reisner 提交于
      Requests of an acked epoch are stored on the barrier_acked_requests list. In
      case the private bio of such a request completes while IO on the drbd device
      is suspended [req_mod(completed_ok)] then the request stays there.
      
      When thawing IO because the fence_peer handler returned, then we use
      tl_clear() to apply the connection_lost_while_pending event to all requests
      on the transfer-log and the barrier_acked_requests list.
      
      Up to now the connection_lost_while_pending event was not applied
      on requests on the barrier_acked_requests list. Fixed that.
      
      I.e. now the connection_lost_while_pending and resend events are
      applied to requests on the barrier_acked_requests list. For that
      it is necessary that the resend event finishes (local only)
      READS correctly.
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
      509fc019
    • L
      drbd: fix drbd wire compatibility for empty flushes · 227f052f
      Lars Ellenberg 提交于
      DRBD has a concept of request epochs or reorder-domains,
      which are separated on the wire by P_BARRIER packets.
      
      Older DRBD is not able to handle zero-sized requests at all,
      so we need to map empty flushes to these drbd barriers.
      
      These are the equivalent of empty flushes, and
      by default trigger flushes on the receiving side anyways
      (unless not supported or explicitly disabled),
      so there is no need to handle this differently in newer drbd either.
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
      227f052f
  4. 09 8月, 2012 7 次提交
  5. 03 8月, 2012 3 次提交
    • J
      block: Don't use static to define "void *p" in show_partition_start() · 06768067
      Jianpeng Ma 提交于
      I met a odd prblem:read /proc/partitions may return zero.
      
      I wrote a file test.c:
      int main()
      {
      	char buff[4096];
      	int ret;
      	int fd;
      	printf("pid=%d\n",getpid());
      	while (1) {
      		fd = open("/proc/partitions", O_RDONLY);
      		if (fd < 0) {
      			printf("open error %s\n", strerror(errno));
      			return 0;
      		}
      		ret = read(fd, buff, 4096);
      		if (ret <= 0)
      			printf("ret=%d, %s, %ld\n", ret,
      				strerror(errno), lseek(fd,0,SEEK_CUR));
      		close(fd);
      	}
      	exit(0);
      }
      
      You can reproduce by:
      1:while true;do cat /proc/partitions > /dev/null ;done
      2:./test
      
      I reviewed the code and found:
      
      >> static void *show_partition_start(struct seq_file *seqf, loff_t *pos)
      >> {
      >> 	static void *p;
      >>
      >> 	p = disk_seqf_start(seqf, pos);
      >> 	if (!IS_ERR_OR_NULL(p) && !*pos)
      >> 		seq_puts(seqf, "major minor  #blocks  name\n\n");
      >> 	return p;
      >> }
      		test								cat /proc/partitions
      	p = disk_seqf_start()(Not NULL)
      									p = disk_seqf_start()(NULL because pos)
      	if (!IS_ERR_OR_NULL(p) && !*pos)
      Signed-off-by: NJianpeng Ma <majianpeng@gmail.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      06768067
    • A
      block: Add blk_bio_map_sg() helper · 85b9f66a
      Asias He 提交于
      Add a helper to map a bio to a scatterlist, modelled after
      blk_rq_map_sg.
      
      This helper is useful for any driver that wants to create
      a scatterlist from its ->make_request_fn method.
      
      Changes in v2:
       - Use __blk_segment_map_sg to avoid duplicated code
       - Add cocbook style function comment
      
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Shaohua Li <shli@kernel.org>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: kvm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: virtualization@lists.linux-foundation.org
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NMinchan Kim <minchan.kim@gmail.com>
      Signed-off-by: NAsias He <asias@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      85b9f66a
    • A
      block: Introduce __blk_segment_map_sg() helper · 963ab9e5
      Asias He 提交于
      Split the mapping code in blk_rq_map_sg() to a helper
      __blk_segment_map_sg(), so that other mapping function, e.g.
      blk_bio_map_sg(), can share the code.
      
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Shaohua Li <shli@kernel.org>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: kvm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: virtualization@lists.linux-foundation.org
      Suggested-by: NJens Axboe <axboe@kernel.dk>
      Suggested-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NAsias He <asias@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      963ab9e5
  6. 02 8月, 2012 22 次提交
    • J
      fs/block-dev.c:fix performance regression in O_DIRECT writes to md block devices · 53362a05
      Jianpeng Ma 提交于
      For regular file, write operaion used blk_plug function.But for block
      file,write operation did not use blk_plug.
      This patch is also for write-cache mode for block-device.
      Signed-off-by: NJianpeng Ma <majianpeng@gmail.com>
      Reviewed-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      53362a05
    • P
      block: split discard into aligned requests · c6e66634
      Paolo Bonzini 提交于
      When a disk has large discard_granularity and small max_discard_sectors,
      discards are not split with optimal alignment.  In the limit case of
      discard_granularity == max_discard_sectors, no request could be aligned
      correctly, so in fact you might end up with no discarded logical blocks
      at all.
      
      Another example that helps showing the condition in the patch is with
      discard_granularity == 64, max_discard_sectors == 128.  A request that is
      submitted for 256 sectors 2..257 will be split in two: 2..129, 130..257.
      However, only 2 aligned blocks out of 3 are included in the request;
      128..191 may be left intact and not discarded.  With this patch, the
      first request will be truncated to ensure good alignment of what's left,
      and the split will be 2..127, 128..255, 256..257.  The patch will also
      take into account the discard_alignment.
      
      At most one extra request will be introduced, because the first request
      will be reduced by at most granularity-1 sectors, and granularity
      must be less than max_discard_sectors.  Subsequent requests will run
      on round_down(max_discard_sectors, granularity) sectors, as in the
      current code.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Tested-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      c6e66634
    • P
      block: reorganize rounding of max_discard_sectors · f6ff53d3
      Paolo Bonzini 提交于
      Mostly a preparation for the next patch.
      
      In principle this fixes an infinite loop if max_discard_sectors < granularity,
      but that really shouldn't happen.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Tested-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      f6ff53d3
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 1a9b4993
      Linus Torvalds 提交于
      Pull MIPS updates from Ralf Baechle:
       "The lion share of this pull request are fixes for clk-related breakage
        caused by other changes during this merge window.  For some platforms
        the fix was as simple as selecting HAVE_CLK, for others like the
        Loongson 2 significant restructuring was required.
      
        The remainder are changes required to get the Lantiq code to work
        again."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Loongson 2: Sort out clock managment.
        MIPS: Loongson 1: more clk support and add select HAVE_CLK
        MIPS: txx9: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: BCM63xx: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: AR7: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: Lantiq: Platform specific CLK fixup
        MIPS: Lantiq: Add device_tree_init function
        MIPS: Lantiq: Fix interface clock and PCI control register offset
      1a9b4993
    • L
      Merge branch 'for-linus-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 1871e845
      Linus Torvalds 提交于
      Pull UML fixes from Richard Weinberger:
       "This patch set contains mostly fixes and cleanups.  The UML tty driver
        uses now tty_port and is no longer broken like hell  :-)"
      
      * 'for-linus-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Add arch/x86/um to MAINTAINERS
        um: pass siginfo to guest process
        um: fix ubd_file_size for read-only files
        um: pull interrupt_end() into userspace()
        um: split syscall_trace(), pass pt_regs to it
        um: switch UPT_SET_RETURN_VALUE and regs_return_value to pt_regs
        um: set BLK_CGROUP=y in defconfig
        um: remove count_lock
        um: fully use tty_port
        um: Remove dead code
        um: remove line_ioctl()
        TTY: um/line, use tty from tty_port
        TTY: um/line, add tty_port
      1871e845
    • L
      Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm · a6dc7725
      Linus Torvalds 提交于
      Pull ARM DMA engine updates from Russell King:
       "This looks scary at first glance, but what it is is:
         - a rework of the sa11x0 DMA engine driver merged during the previous
           cycle, to extract a common set of helper functions for DMA engine
           implementations.
         - conversion of amba-pl08x.c to use these helper functions.
         - addition of OMAP DMA engine driver (using these helper functions),
           and conversion of some of the OMAP DMA users to use DMA engine.
      
        Nothing in the helper functions is ARM specific, so I hope that other
        implementations can consolidate some of their code by making use of
        these helpers.
      
        This has been sitting in linux-next most of the merge cycle, and has
        been tested by several OMAP folk.  I've tested it on sa11x0 platforms,
        and given it my best shot on my broken platforms which have the
        amba-pl08x controller.
      
        The last point is the addition to feature-removal-schedule.txt, which
        will have a merge conflict.  Between myself and TI, we're planning to
        remove the old TI DMA implementation next year."
      
      Fix up trivial add/add conflicts in Documentation/feature-removal-schedule.txt
      and drivers/dma/{Kconfig,Makefile}
      
      * 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm: (53 commits)
        ARM: 7481/1: OMAP2+: omap2plus_defconfig: enable OMAP DMA engine
        ARM: 7464/1: mmc: omap_hsmmc: ensure probe returns error if DMA channel request fails
        Add feature removal of old OMAP private DMA implementation
        mtd: omap2: remove private DMA API implementation
        mtd: omap2: add DMA engine support
        spi: omap2-mcspi: remove private DMA API implementation
        spi: omap2-mcspi: add DMA engine support
        ARM: omap: remove mmc platform data dma_mask and initialization
        mmc: omap: remove private DMA API implementation
        mmc: omap: add DMA engine support
        mmc: omap_hsmmc: remove private DMA API implementation
        mmc: omap_hsmmc: add DMA engine support
        dmaengine: omap: add support for cyclic DMA
        dmaengine: omap: add support for setting fi
        dmaengine: omap: add support for returning residue in tx_state method
        dmaengine: add OMAP DMA engine driver
        dmaengine: sa11x0-dma: add cyclic DMA support
        dmaengine: sa11x0-dma: fix DMA residue support
        dmaengine: PL08x: ensure all descriptors are freed when channel is released
        dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking
        ...
      a6dc7725
    • L
      Merge branch 'audit' of git://git.linaro.org/people/rmk/linux-arm · 02a6ec6a
      Linus Torvalds 提交于
      Pull ARM audit/signal updates from Russell King:
       "ARM audit/signal handling updates from Al and Will.  This improves on
        the work Viro did last merge window, and sorts out some of the issues
        found with that work."
      
      * 'audit' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7475/1: sys_trace: allow all syscall arguments to be updated via ptrace
        ARM: 7474/1: get rid of TIF_SYSCALL_RESTARTSYS
        ARM: 7473/1: deal with handlerless restarts without leaving the kernel
        ARM: 7472/1: pull all work_pending logics into C function
        ARM: 7471/1: Revert "7442/1: Revert "remove unused restart trampoline""
        ARM: 7470/1: Revert "7443/1: Revert "new way of handling ERESTART_RESTARTBLOCK""
      02a6ec6a
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 9a2533c3
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "This fixes various issues found during July"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7479/1: mm: avoid NULL dereference when flushing gate_vma with VIVT caches
        ARM: Fix undefined instruction exception handling
        ARM: 7480/1: only call smp_send_stop() on SMP
        ARM: 7478/1: errata: extend workaround for erratum #720789
        ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP
        ARM: 7476/1: vfp: only clear vfp state for current cpu in vfp_pm_suspend
        ARM: 7468/1: ftrace: Trace function entry before updating index
        ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+
        ARM: 7466/1: disable interrupt before spinning endlessly
        ARM: 7465/1: Handle >4GB memory sizes in device tree and mem=size@start option
      9a2533c3
    • R
      um: Add arch/x86/um to MAINTAINERS · b070989a
      Richard Weinberger 提交于
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      b070989a
    • M
      um: pass siginfo to guest process · d3c1cfcd
      Martin Pärtel 提交于
      UML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,
      SIGILL and SIGBUS. Specifically, si_addr and si_code are now correct
      where previously they were si_addr = NULL and si_code = 128.
      Signed-off-by: NMartin Pärtel <martin.partel@gmail.com>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      d3c1cfcd
    • M
      um: fix ubd_file_size for read-only files · d4afcba9
      Martin Pärtel 提交于
      Made ubd_file_size not request write access. Fixes use of read-only images.
      Signed-off-by: NMartin Pärtel <martin.partel@gmail.com>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      d4afcba9
    • A
      um: pull interrupt_end() into userspace() · b8a42095
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      b8a42095
    • A
      um: split syscall_trace(), pass pt_regs to it · 1bfa2317
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      [richard@nod.at: Fixed some minor build issues]
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      1bfa2317
    • A
      a3170d2e
    • L
      Merge tag 'fbdev-updates-for-3.6' of git://github.com/schandinat/linux-2.6 · d4fdc325
      Linus Torvalds 提交于
      Pull fbdev updates from Florian Tobias Schandinat:
       - large updates for OMAP
         - support for LCD3 overlay manager (omap5)
         - omapdss output cleanup
         - removal of passive matrix LCD support as there are no drivers for
           such panels for DSS or DSS2 and nobody complained (cleanup)
       - large updates for SH Mobile
         - overlay support
         - separating MERAM (cache) from framebuffer driver
       - some updates for Exynos and da8xx-fb
       - various other small patches
      
      * tag 'fbdev-updates-for-3.6' of git://github.com/schandinat/linux-2.6: (78 commits)
        da8xx-fb: fix compile issue due to missing include
        fbdev: Make pixel_to_pat() failure mode more friendly
        da8xx-fb: do not turn ON LCD backlight unless LCDC is enabled
        fbdev: sh_mobile_lcdc: Fix vertical panning step
        video: exynos mipi dsi: Fix mipi dsi regulators handling issue
        video: da8xx-fb: do clock reset of revision 2 LCDC before enabling
        arm: da850: configure LCDC fifo threshold
        video: da8xx-fb: configure FIFO threshold to reduce underflow errors
        video: da8xx-fb: fix flicker due to 1 frame delay in updated frame
        video: da8xx-fb rev2: fix disabling of palette completion interrupt
        da8xx-fb: add missing FB_BLANK operations
        video: exynos_dp: use usleep_range instead of delay
        video: exynos_dp: check the only INTERLANE_ALIGN_DONE bit during Link Training
        fb: epson1355fb: Fix section mismatch
        video: exynos_dp: fix wrong DPCD address during Link Training
        video/smscufx: fix line counting in fb_write
        aty128fb: Fix coding style issues
        fbdev: sh_mobile_lcdc: Fix pan offset computation in YUV mode
        fbdev: sh_mobile_lcdc: Fix overlay registers update during pan operation
        fbdev: sh_mobile_lcdc: Support horizontal panning
        ...
      d4fdc325
    • L
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9a51cf28
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes that have been found recently.  Most of
        the commits are regression fixes in HD-audio and some other random
        drivers."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: snd-usb: fix clock source validity index
        ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs
        ALSA: hda - Add descriptions for missing IDT 92HD83x models
        ALSA: hda - Fix polarity of mute LED on HP Mini 210
        ALSA: es1688 - freeup resources on init failure
        ALSA: hda - Workaround for silent output on VAIO Z with ALC889
        ALSA: hda - Fix WARNING from HDMI/DP parser
        ALSA: hda - Detach from converter at closing in patch_hdmi.c
        ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210
        ALSA: mpu401: Fix missing initialization of irq field
        ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs
      9a51cf28
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a0e881b7
      Linus Torvalds 提交于
      Pull second vfs pile from Al Viro:
       "The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the
        deadlock reproduced by xfstests 068), symlink and hardlink restriction
        patches, plus assorted cleanups and fixes.
      
        Note that another fsfreeze deadlock (emergency thaw one) is *not*
        dealt with - the series by Fernando conflicts a lot with Jan's, breaks
        userland ABI (FIFREEZE semantics gets changed) and trades the deadlock
        for massive vfsmount leak; this is going to be handled next cycle.
        There probably will be another pull request, but that stuff won't be
        in it."
      
      Fix up trivial conflicts due to unrelated changes next to each other in
      drivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c}
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits)
        delousing target_core_file a bit
        Documentation: Correct s_umount state for freeze_fs/unfreeze_fs
        fs: Remove old freezing mechanism
        ext2: Implement freezing
        btrfs: Convert to new freezing mechanism
        nilfs2: Convert to new freezing mechanism
        ntfs: Convert to new freezing mechanism
        fuse: Convert to new freezing mechanism
        gfs2: Convert to new freezing mechanism
        ocfs2: Convert to new freezing mechanism
        xfs: Convert to new freezing code
        ext4: Convert to new freezing mechanism
        fs: Protect write paths by sb_start_write - sb_end_write
        fs: Skip atime update on frozen filesystem
        fs: Add freezing handling to mnt_want_write() / mnt_drop_write()
        fs: Improve filesystem freezing handling
        switch the protection of percpu_counter list to spinlock
        nfsd: Push mnt_want_write() outside of i_mutex
        btrfs: Push mnt_want_write() outside of i_mutex
        fat: Push mnt_want_write() outside of i_mutex
        ...
      a0e881b7
    • R
      MIPS: Loongson 2: Sort out clock managment. · 95cf1468
      Ralf Baechle 提交于
      For unexplainable reasons the Loongson 2 clock API was implemented in a
      module so fixing this involved shifting large amounts of code around.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      95cf1468
    • L
      Merge branch 'for-3.6/drivers' of git://git.kernel.dk/linux-block · eff0d13f
      Linus Torvalds 提交于
      Pull block driver changes from Jens Axboe:
      
       - Making the plugging support for drivers a bit more sane from Neil.
         This supersedes the plugging change from Shaohua as well.
      
       - The usual round of drbd updates.
      
       - Using a tail add instead of a head add in the request completion for
         ndb, making us find the most completed request more quickly.
      
       - A few floppy changes, getting rid of a duplicated flag and also
         running the floppy init async (since it takes forever in boot terms)
         from Andi.
      
      * 'for-3.6/drivers' of git://git.kernel.dk/linux-block:
        floppy: remove duplicated flag FD_RAW_NEED_DISK
        blk: pass from_schedule to non-request unplug functions.
        block: stack unplug
        blk: centralize non-request unplug handling.
        md: remove plug_cnt feature of plugging.
        block/nbd: micro-optimization in nbd request completion
        drbd: announce FLUSH/FUA capability to upper layers
        drbd: fix max_bio_size to be unsigned
        drbd: flush drbd work queue before invalidate/invalidate remote
        drbd: fix potential access after free
        drbd: call local-io-error handler early
        drbd: do not reset rs_pending_cnt too early
        drbd: reset congestion information before reporting it in /proc/drbd
        drbd: report congestion if we are waiting for some userland callback
        drbd: differentiate between normal and forced detach
        drbd: cleanup, remove two unused global flags
        floppy: Run floppy initialization asynchronous
      eff0d13f
    • L
      Merge branch 'for-3.6/core' of git://git.kernel.dk/linux-block · 8cf1a3fc
      Linus Torvalds 提交于
      Pull core block IO bits from Jens Axboe:
       "The most complicated part if this is the request allocation rework by
        Tejun, which has been queued up for a long time and has been in
        for-next ditto as well.
      
        There are a few commits from yesterday and today, mostly trivial and
        obvious fixes.  So I'm pretty confident that it is sound.  It's also
        smaller than usual."
      
      * 'for-3.6/core' of git://git.kernel.dk/linux-block:
        block: remove dead func declaration
        block: add partition resize function to blkpg ioctl
        block: uninitialized ioc->nr_tasks triggers WARN_ON
        block: do not artificially constrain max_sectors for stacking drivers
        blkcg: implement per-blkg request allocation
        block: prepare for multiple request_lists
        block: add q->nr_rqs[] and move q->rq.elvpriv to q->nr_rqs_elvpriv
        blkcg: inline bio_blkcg() and friends
        block: allocate io_context upfront
        block: refactor get_request[_wait]()
        block: drop custom queue draining used by scsi_transport_{iscsi|fc}
        mempool: add @gfp_mask to mempool_create_node()
        blkcg: make root blkcg allocation use %GFP_KERNEL
        blkcg: __blkg_lookup_create() doesn't need radix preload
      8cf1a3fc
    • L
      Merge branch 'for-next' of git://neil.brown.name/md · fcff06c4
      Linus Torvalds 提交于
      Pull md updates from NeilBrown.
      
      * 'for-next' of git://neil.brown.name/md:
        DM RAID: Add support for MD RAID10
        md/RAID1: Add missing case for attempting to repair known bad blocks.
        md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.
        md/raid1: don't abort a resync on the first badblock.
        md: remove duplicated test on ->openers when calling do_md_stop()
        raid5: Add R5_ReadNoMerge flag which prevent bio from merging at block layer
        md/raid1: prevent merging too large request
        md/raid1: read balance chooses idlest disk for SSD
        md/raid1: make sequential read detection per disk based
        MD RAID10: Export md_raid10_congested
        MD: Move macros from raid1*.h to raid1*.c
        MD RAID1: rename mirror_info structure
        MD RAID10: rename mirror_info structure
        MD RAID10: Fix compiler warning.
        raid5: add a per-stripe lock
        raid5: remove unnecessary bitmap write optimization
        raid5: lockless access raid5 overrided bi_phys_segments
        raid5: reduce chance release_stripe() taking device_lock
      fcff06c4
    • J
      locks: remove unused lm_release_private · 068535f1
      J. Bruce Fields 提交于
      In commit 3b6e2723 ("locks: prevent side-effects of
      locks_release_private before file_lock is initialized") we removed the
      last user of lm_release_private without removing the field itself.
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      068535f1
  7. 01 8月, 2012 3 次提交