1. 23 Jan, 2013 11 commits
  2. 22 Jan, 2013 21 commits
  3. 21 Jan, 2013 8 commits
    • Dan Carpenter's avatar
      f2fs: use _safe() version of list_for_each · d8b79b2f
      Dan Carpenter authored
      
      
      This is calling list_del() inside a loop which is a problem when we try
      move to the next item on the list.  I've converted it to use the _safe
      version.  And also, as a cleanup, I've converted it to use
      list_for_each_entry instead of list_for_each.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      d8b79b2f
    • Jaegeuk Kim's avatar
      f2fs: add comments of start_bidx_of_node · 9af45ef5
      Jaegeuk Kim authored
      
      
      The caller of start_bidx_of_node() should give proper node offsets which
      point only direct node blocks. Otherwise, it is a caller's bug.
      This patch adds comments to make it clear.
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      9af45ef5
    • Jaegeuk Kim's avatar
      f2fs: avoid issuing small bios due to several dirty node pages · a7fdffbd
      Jaegeuk Kim authored
      
      
      If some small bios of dirty node pages are supposed to be issued during the
      sequential data writes, there-in well-produced consecutive data bios are able
      to be split by the small node bios, resulting in performance degradation.
      So, let's collect a number of dirty node pages until reaching a threshold.
      And, by default, I set the threshold as 2MB, a segment size.
      
      This improves sequential write performance on i5, 512GB SSD (830 w/ SATA2) as
      follows.
      Before: 231 MB/s -> After: 255 MB/s
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      Reviewed-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      a7fdffbd
    • Jaegeuk Kim's avatar
      f2fs: support swapfile · c01e54b7
      Jaegeuk Kim authored
      
      
      This patch adds f2fs_bmap operation to the data address space.
      This enables f2fs to support swapfile.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      c01e54b7
    • Jaegeuk Kim's avatar
      f2fs: add remap_pages as generic_file_remap_pages · 692bb55d
      Jaegeuk Kim authored
      This was added for all the file systems before.
      
      See the following commit.
      
      commit id: 0b173bc4
      
      
      
      [PATCH] mm: kill vma flag VM_CAN_NONLINEAR
      
      This patch moves actual ptes filling for non-linear file mappings
      into special vma operation: ->remap_pages().
      
      File system must implement this method to get non-linear mappings support,
      if it uses filemap_fault() then generic_file_remap_pages() can be used.
      
      Now device drivers can implement this method and obtain nonlinear vma support."
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      692bb55d
    • Namjae Jeon's avatar
      f2fs: add __init to functions in init_f2fs_fs · 6e6093a8
      Namjae Jeon authored
      
      
      Add __init to functions in init_f2fs_fs for code consistency.
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      Signed-off-by: default avatarAmit Sahrawat <a.sahrawat@samsung.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
      6e6093a8
    • Greg Kroah-Hartman's avatar
      Merge tag 'fixes-for-v3.8-rc5' of... · ad2e6329
      Greg Kroah-Hartman authored
      Merge tag 'fixes-for-v3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
      
      Felipe writes:
      
        usb: fixes for v3.8-rc5
      
        Finally we have a build fix for fsl-mxc-udc UDC driver.
      
        We also have a fix for ep0 maxburst setting on DWC3
        which could confuse the HW if we tell it we had way
        too many streams on that endpoint when it _has_ to be
        only one.
      
        cppi_dma support for MUSB got a fix when running as a
        module. By dropping the wrong __init annotation, the
        function will be available even when we're modules and
        we're done with .init.text section.
      
        Last, but not least, we have a fix on FunctionFS which
        was causing a bug on our option parsing algorithm.
      ad2e6329
    • Steven Rostedt's avatar
      ftrace: Be first to run code modification on modules · c1bf08ac
      Steven Rostedt authored
      If some other kernel subsystem has a module notifier, and adds a kprobe
      to a ftrace mcount point (now that kprobes work on ftrace points),
      when the ftrace notifier runs it will fail and disable ftrace, as well
      as kprobes that are attached to ftrace points.
      
      Here's the error:
      
       WARNING: at kernel/trace/ftrace.c:1618 ftrace_bug+0x239/0x280()
       Hardware name: Bochs
       Modules linked in: fat(+) stap_56d28a51b3fe546293ca0700b10bcb29__8059(F) nfsv4 auth_rpcgss nfs dns_resolver fscache xt_nat iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack lockd sunrpc ppdev parport_pc parport microcode virtio_net i2c_piix4 drm_kms_helper ttm drm i2c_core [last unloaded: bid_shared]
       Pid: 8068, comm: modprobe Tainted: GF            3.7.0-0.rc8.git0.1.fc19.x86_64 #1
       Call Trace:
        [<ffffffff8105e70f>] warn_slowpath_common+0x7f/0xc0
        [<ffffffff81134106>] ? __probe_kernel_read+0x46/0x70
        [<ffffffffa0180000>] ? 0xffffffffa017ffff
        [<ffffffffa0180000>] ? 0xffffffffa017ffff
        [<ffffffff8105e76a>] warn_slowpath_null+0x1a/0x20
        [<ffffffff810fd189>] ftrace_bug+0x239/0x280
        [<ffffffff810fd626>] ftrace_process_locs+0x376/0x520
        [<ffffffff810fefb7>] ftrace_module_notify+0x47/0x50
        [<ffffffff8163912d>] notifier_call_chain+0x4d/0x70
        [<ffffffff810882f8>] __blocking_notifier_call_chain+0x58/0x80
        [<ffffffff81088336>] blocking_notifier_call_chain+0x16/0x20
        [<ffffffff810c2a23>] sys_init_module+0x73/0x220
        [<ffffffff8163d719>] system_call_fastpath+0x16/0x1b
       ---[ end trace 9ef46351e53bbf80 ]---
       ftrace failed to modify [<ffffffffa0180000>] init_once+0x0/0x20 [fat]
        actual: cc:bb:d2:4b:e1
      
      A kprobe was added to the init_once() function in the fat module on load.
      But this happened before ftrace could have touched the code. As ftrace
      didn't run yet, the kprobe system had no idea it was a ftrace point and
      simply added a breakpoint to the code (0xcc in the cc:bb:d2:4b:e1).
      
      Then when ftrace went to modify the location from a call to mcount/fentry
      into a nop, it didn't see a call op, but instead it saw the breakpoint op
      and not knowing what to do with it, ftrace shut itself down.
      
      The solution is to simply give the ftrace module notifier the max priority.
      This should have been done regardless, as the core code ftrace modification
      also happens very early on in boot up. This makes the module modification
      closer to core modification.
      
      Link: http://lkml.kernel.org/r/20130107140333.593683061@goodmis.org
      
      
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Reported-by: default avatarFrank Ch. Eigler <fche@redhat.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      c1bf08ac