1. 17 12月, 2015 6 次提交
  2. 16 12月, 2015 3 次提交
  3. 15 12月, 2015 5 次提交
  4. 10 12月, 2015 3 次提交
  5. 05 12月, 2015 23 次提交
    • C
      f2fs: fix to convert inline inode in ->setattr · 0cab80ee
      Chao Yu 提交于
      In commit 3c454145 ("f2fs: do not trim preallocated blocks when
      truncating after i_size"), in order to follow the regulation: "truncate(x)
      where x > i_size will not trim all blocks past i_size." like other file
      systems, in ->setattr we invoked truncate_setsize instead of f2fs_truncate
      to avoid unneeded block trimming in such case, but forgot to call
      f2fs_convert_inline_inode keep consistency of inline data conversion rule.
      
      This patch fixes to convert inline data if necessary.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      0cab80ee
    • C
      f2fs: use sbi->blocks_per_seg to avoid unnecessary calculation · 3519e3f9
      Chao Yu 提交于
      Use sbi->blocks_per_seg directly to avoid unnecessary calculation when using
      1 << sbi->log_blocks_per_seg.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      3519e3f9
    • C
      f2fs: kill f2fs_drop_largest_extent · 9006f2c9
      Chao Yu 提交于
      For direct IO, f2fs only allocate new address for the block which is not
      exist in the disk before, its mapping info should not exist in extent
      cache previously, so here we do not need to call f2fs_drop_largest_extent
      to drop related cache.
      
      Due to no more callers for f2fs_drop_largest_extent now, kill it.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      9006f2c9
    • C
      f2fs: clean up argument of recover_data · b7973f23
      Chao Yu 提交于
      In recover_data, value of argument 'type' will be CURSEG_WARM_NODE all
      the time, remove it for cleanup.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      b7973f23
    • C
      f2fs: clean up code with __has_cursum_space · 855639de
      Chao Yu 提交于
      Clean up codes in lookup_journal_in_cursum() with __has_cursum_space().
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      855639de
    • C
      f2fs: clean up error path in f2fs_readdir · e9837bc2
      Chao Yu 提交于
      No logic changes, just clean up the error path.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      e9837bc2
    • J
      f2fs: do not recover from previous remained wrong dnodes · 807b1e1c
      Jaegeuk Kim 提交于
      If device does not support discard, some obsolete dnodes can be recovered
      by roll-forward. This patch enhances the recovery flow.
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      807b1e1c
    • J
      f2fs: avoid deadlock in f2fs_shrink_extent_tree · 760de791
      Jaegeuk Kim 提交于
      While handling extent trees, we can enter into a reclaiming path anytime.
      If it tries to release some extent nodes in the same extent tree,
      write_lock(&et->lock) would be hanged.
      In order to avoid the deadlock, we can just skip it.
      
      Note that, if it is an unreferenced tree, we should get write_lock(&et->lock)
      successfully and release all of therein nodes.
      Reviewed-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      760de791
    • C
      f2fs: fix to report error in f2fs_readdir · 57b62d29
      Chao Yu 提交于
      get_lock_data_page in f2fs_readdir can fail due to a lot of reasons (i.e.
      no memory or IO error...), it's better to report this kind of error to
      user rather than ignoring it.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      57b62d29
    • C
      f2fs: clear page uptodate when dropping cache for atomic write · f478f43f
      Chao Yu 提交于
      We should clear uptodate flag for all pages atomic written when we drop
      them, otherwise before these cached pages were reclaimed or invalidated
      eventually, we will see invalid data when hitting them again.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      f478f43f
    • F
      f2fs: optimize __find_rev_next_bit · 692223d1
      Fan Li 提交于
      1. Skip __reverse_ulong if the bitmap is empty.
      2. Reduce branches and codes.
      According to my test, the performance of this new version is 5% higher on
      an empty bitmap of 64bytes, and remains about the same in the worst scenario.
      Signed-off-by: NFan li <fanofcode.li@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      692223d1
    • C
      f2fs: fix to remove directory inode from dirty list · eb7e813c
      Chao Yu 提交于
      If last dirty dentry page was writebacked in reclaim path, we should
      remove its directory inode from global dirty list to avoid unnecessary
      flush for this inode when doing checkpoint.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      eb7e813c
    • C
      f2fs: fix to enable missing ioctl interfaces in ->compat_ioctl · 04ef4b62
      Chao Yu 提交于
      In 64-bit kernel f2fs can supports 32-bit ioctl system call by identifying
      encoded code which is converted from 32-bit one to 64-bit one in
      ->compat_ioctl.
      
      When we introduced new interfaces in ->ioctl, we forgot to enable them in
      ->compat_ioctl, so enable them for fixing.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      [Jaegeuk Kim: fix wrongly added spaces together]
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      04ef4b62
    • C
      f2fs: fix memory leak of kobject in error path of fill_super · 29ba108d
      Chao Yu 提交于
      f2fs_sb_info::s_kobj should be released in error path of fill_super,
      otherwise it will lead to memory leak.
      
      This bug was found by kmemleak:
      
      dmesg:
      kmemleak: 2 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
      
      cat /sys/kernel/debug/kmemleak
      unreferenced object 0xffff8800838dc358 (size 8):
        comm "mount", pid 4154, jiffies 4297482839 (age 1911.412s)
        hex dump (first 8 bytes):
          7a 72 61 6d 31 00 ff ff                          zram1...
        backtrace:
          [<ffffffff817a3668>] kmemleak_alloc+0x28/0x50
          [<ffffffff811dc99f>] __kmalloc_track_caller+0xef/0x1c0
          [<ffffffff8119d1c5>] kstrdup+0x45/0x80
          [<ffffffff8119d228>] kstrdup_const+0x28/0x30
          [<ffffffff813d2333>] kvasprintf_const+0x63/0xa0
          [<ffffffff813c59fc>] kobject_set_name_vargs+0x3c/0xa0
          [<ffffffff813c5a85>] kobject_add_varg+0x25/0x60
          [<ffffffff813c5b13>] kobject_init_and_add+0x53/0x70
          [<ffffffffa07ced19>] f2fs_fill_super+0x9d9/0xc40 [f2fs]
          [<ffffffff811ff0b2>] mount_bdev+0x192/0x1d0
          [<ffffffffa07cd3e5>] f2fs_mount+0x15/0x20 [f2fs]
          [<ffffffff811fec93>] mount_fs+0x43/0x170
          [<ffffffff81220256>] vfs_kern_mount+0x76/0x160
          [<ffffffff812211c8>] do_mount+0x258/0xdc0
          [<ffffffff81221dab>] SyS_mount+0x7b/0xc0
          [<ffffffff817aecd7>] entry_SYSCALL_64_fastpath+0x12/0x6f
      ...
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      29ba108d
    • M
      Doc: f2fs: Fix typos in Documentation/filesystems/f2fs.txt · 4bb9998d
      Masanari Iida 提交于
      This patch fix some typos in Documentation/filesystems/f2fs.txt
      Signed-off-by: NMasanari Iida <standby24x7@gmail.com>
      Acked-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      4bb9998d
    • C
      f2fs: support file defragment · d323d005
      Chao Yu 提交于
      This patch introduces a new ioctl F2FS_IOC_DEFRAGMENT to support file
      defragment in a specified range of regular file.
      
      This ioctl can be used in very limited workload: if user expects high
      sequential read performance in randomly written file, this interface
      can be used for defragmentation, after that file can be written as
      continuous as possible in the device.
      
      Meanwhile, it has side-effect, it will make holes in segments where
      blocks located originally, so it's better to trigger GC to eliminate
      fragment in segments.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      d323d005
    • C
      f2fs: commit atomic written page in LFS mode · 2da3e027
      Chao Yu 提交于
      We should always commit atomic written pages in LFS mode, otherwise data
      will become corrupted if we encounter suddent power cut after partial
      pages committed in IPU mode.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      2da3e027
    • C
      f2fs: report error of f2fs_create_root_stats · 787c7b8c
      Chao Yu 提交于
      f2fs_create_root_stats can fail due to no memory, report it to user.
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      787c7b8c
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · fb39cbda
      Linus Torvalds 提交于
      Pull libnvdimm fixes from Dan Williams:
      
       - NFIT parsing regression fixes from Linda.  The nvdimm hot-add
         implementation merged in 4.4-rc1 interpreted the specification in a
         way that breaks actual HPE platforms.  We are also closing the loop
         with the ACPI Working Group to get this clarification added to the
         spec.
      
       - Andy pointed out that his laptop without nvdimm resources is loading
         the e820-nvdimm module by default, fix that up to only load the
         module when an e820-type-12 range is present.
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit: Adjust for different _FIT and NFIT headers
        nfit: Fix the check for a successful NFIT merge
        nfit: Account for table size length variation
        libnvdimm, e820: skip module loading when no type-12
      fb39cbda
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · db281766
      Linus Torvalds 提交于
      Pull ARM KVM fixes from Paolo Bonzini:
      
       - a series of fixes to deal with the aliasing between the sp and xzr
         register
      
       - a fix for the cache flush fix that went in -rc3
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        ARM/arm64: KVM: correct PTE uncachedness check
        arm64: KVM: Get rid of old vcpu_reg()
        arm64: KVM: Correctly handle zero register in system register accesses
        arm64: KVM: Remove const from struct sys_reg_params
        arm64: KVM: Correctly handle zero register during MMIO
      db281766
    • P
      Merge tag 'kvm-arm-for-v4.4-rc4' of... · 09922076
      Paolo Bonzini 提交于
      Merge tag 'kvm-arm-for-v4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
      
      KVM/ARM fixes for v4.4-rc4
      
      - A series of fixes to deal with the aliasing between the sp and xzr register
      - A fix for the cache flush fix that went in -rc3
      09922076
    • L
      Merge tag 'sound-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8cdef969
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "This time we've got a larger number of updates, mainly from ASoC
        world.  The only significant LOCs found here are for Realtek codecs,
        where most of changes are quite systematic replacements.
      
        There are also a few fixes in ASoC core side: one is the PM call order
        fix to ensure the DPAM resume working properly.  Another is the proper
        cleanup call after freeing DAPM widgets, and the correction of the
        wrong callback set in topology API.
      
        The rest are a wide range of driver-specific small fixes, including
        HD-audio"
      
      * tag 'sound-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
        ALSA: hda - Add Conexant CX8200 (14f1:2008) codec entry
        ALSA: hda - Correct codec names for 14f1:50f1 and 14f1:50f3
        ALSA: hda - Skip ELD notification during system suspend
        ASoC: core: Change power state before rechecking endpoint
        ASoC: fix kernel-doc warnings in sound/soc/soc-ops.c
        ASoC: rt5645: Add dmi_system_id "Google Terra"
        ASoC: rockchip: Fix incorrect VDW value for 24 bit
        ASoC: fsl: clarify ac97 dependency
        ASoC: Intel: Skylake: fix memory leak
        ASoC: davinci-mcasp: Fix master capture only mode
        ASoC: es8328: Fix shifts for mixer switches
        ASoC: rt5645: Add dmi_system_id "Google Wizpig"
        ASoC: sti: set player private data
        ASoC: sti: rename ST proprietary DT properties
        ASoC: sti: remove wrong error message
        ASoC: Intel: Skylake: Add I2C depends for SKL machine
        ASoC: topology: fix info callback for TLV byte control
        ASoC: rt5670: fix wrong bit def for pll src
        ASoC: nau8825: add pm function
        ASoC: rt5645: Add struct dmi_system_id "Google Edgar" for Chrome OS
        ...
      8cdef969
    • L
      Merge tag 'pm+acpi-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b1007e73
      Linus Torvalds 提交于
      Pull power management and ACPI fixes from Rafael Wysocki:
       "These fix a recent regression in the ACPI PCI host bridge
        initialization code, clean up some recent changes (generic power
        domains framework, ACPI AML debugger support), fix three older but
        annoying bugs (PCI power management.  generic power domains framework,
        cpufreq) and a build problem (device properties framework), and update
        a stale MAINTAINERS entry (ACPI backlight driver).
      
        Specifics:
      
         - Fix a regression in the ACPI PCI host bridge initialization code
           introduced by the recent consolidation of the host bridge handling
           on x86 and ia64 that forgot to take one special piece of code
           related to NUMA on x86 into account (Liu Jiang).
      
         - Improve the Kconfig help description of the new ACPI AML debugger
           support option to avoid possible confusion (Peter Zijlstra).
      
         - Remove a piece of code in the generic power domains framework that
           should have been removed by one of the recent commits modifying
           that code (Ulf Hansson).
      
         - Reduce the log level of a PCI PM message that generates a lot of
           false-positive log noise for some drivers and improve the message
           itself while at it (Imre Deak).
      
         - Fix the OF-based domain lookup code in the generic power domains
           framework to make it drop references to DT nodes correctly (Eric
           Anholt).
      
         - Prevent the cpufreq core from setting the policy back to the
           default after a CPU offline/online cycle for cpufreq drivers
           providing the ->setpolicy callback (Srinivas Pandruvada).
      
         - Fix a build problem for CONFIG_ACPI unset in the device properties
           framework (Hanjun Guo).
      
         - Fix a stale file path in the ACPI backlight driver entry in
           MAINTAINERS (Dan Carpenter)"
      
      * tag 'pm+acpi-4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach()
        cpufreq: use last policy after online for drivers with ->setpolicy
        PCI / PM: Tune down retryable runtime suspend error messages
        PM / Domains: Validate cases of a non-bound driver in genpd governor
        MAINTAINERS: ACPI / video: update a file name in drivers/acpi/
        ACPI / property: fix compile error for acpi_node_get_property_reference() when CONFIG_ACPI=n
        x86/PCI/ACPI: Fix regression caused by commit 4d6b4e69
        ACPI: Better describe ACPI_DEBUGGER
      b1007e73