09 Sep, 2015

4 commits

  • Merge second patch-bomb from Andrew Morton:
    "Almost all of the rest of MM. There was an unusually large amount of
    MM material this time"

    * emailed patches from Andrew Morton : (141 commits)
    zpool: remove no-op module init/exit
    mm: zbud: constify the zbud_ops
    mm: zpool: constify the zpool_ops
    mm: swap: zswap: maybe_preload & refactoring
    zram: unify error reporting
    zsmalloc: remove null check from destroy_handle_cache()
    zsmalloc: do not take class lock in zs_shrinker_count()
    zsmalloc: use class->pages_per_zspage
    zsmalloc: consider ZS_ALMOST_FULL as migrate source
    zsmalloc: partial page ordering within a fullness_list
    zsmalloc: use shrinker to trigger auto-compaction
    zsmalloc: account the number of compacted pages
    zsmalloc/zram: introduce zs_pool_stats api
    zsmalloc: cosmetic compaction code adjustments
    zsmalloc: introduce zs_can_compact() function
    zsmalloc: always keep per-class stats
    zsmalloc: drop unused variable `nr_to_migrate'
    mm/memblock.c: fix comment in __next_mem_range()
    mm/page_alloc.c: fix type information of memoryless node
    memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node()
    ...

    Linus Torvalds
     
  • We want to know per-process workingset size for smart memory management
    on userland and we use swap(ex, zram) heavily to maximize memory
    efficiency so workingset includes swap as well as RSS.

    On such system, if there are lots of shared anonymous pages, it's really
    hard to figure out exactly how many each process consumes memory(ie, rss
    + wap) if the system has lots of shared anonymous memory(e.g, android).

    This patch introduces SwapPss field on /proc//smaps so we can get
    more exact workingset size per process.

    Bongkyu tested it. Result is below.

    1. 50M used swap
    SwapTotal: 461976 kB
    SwapFree: 411192 kB

    $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}';
    48236
    $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}';
    141184

    2. 240M used swap
    SwapTotal: 461976 kB
    SwapFree: 216808 kB

    $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}';
    230315
    $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}';
    1387744

    [akpm@linux-foundation.org: simplify kunmap_atomic() call]
    Signed-off-by: Minchan Kim
    Reported-by: Bongkyu Kim
    Tested-by: Bongkyu Kim
    Cc: Hugh Dickins
    Cc: Sergey Senozhatsky
    Cc: Jonathan Corbet
    Cc: Jerome Marchand
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • This is the support code for DAX-enabled filesystems to allow them to
    provide huge pages in response to faults.

    Signed-off-by: Matthew Wilcox
    Cc: Hillf Danton
    Cc: "Kirill A. Shutemov"
    Cc: Theodore Ts'o
    Cc: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • Pull libnvdimm updates from Dan Williams:
    "This update has successfully completed a 0day-kbuild run and has
    appeared in a linux-next release. The changes outside of the typical
    drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
    removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
    the introduction of ZONE_DEVICE + devm_memremap_pages().

    Summary:

    - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
    mechanism for adding device-driver-discovered memory regions to the
    kernel's direct map.

    This facility is used by the pmem driver to enable pfn_to_page()
    operations on the page frames returned by DAX ('direct_access' in
    'struct block_device_operations').

    For now, the 'memmap' allocation for these "device" pages comes
    from "System RAM". Support for allocating the memmap from device
    memory will arrive in a later kernel.

    - Introduce memremap() to replace usages of ioremap_cache() and
    ioremap_wt(). memremap() drops the __iomem annotation for these
    mappings to memory that do not have i/o side effects. The
    replacement of ioremap_cache() with memremap() is limited to the
    pmem driver to ease merging the api change in v4.3.

    Completion of the conversion is targeted for v4.4.

    - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
    driver, update the VFS DAX implementation and PMEM api to provide
    persistence guarantees for kernel operations on a DAX mapping.

    - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
    cacheable to improve performance.

    - Miscellaneous updates and fixes to libnvdimm including support for
    issuing "address range scrub" commands, clarifying the optimal
    'sector size' of pmem devices, a clarification of the usage of the
    ACPI '_STA' (status) property for DIMM devices, and other minor
    fixes"

    * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
    libnvdimm, pmem: direct map legacy pmem by default
    libnvdimm, pmem: 'struct page' for pmem
    libnvdimm, pfn: 'struct page' provider infrastructure
    x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
    add devm_memremap_pages
    mm: ZONE_DEVICE for "device memory"
    mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
    dax: drop size parameter to ->direct_access()
    nd_blk: change aperture mapping from WC to WB
    nvdimm: change to use generic kvfree()
    pmem, dax: have direct_access use __pmem annotation
    dax: update I/O path to do proper PMEM flushing
    pmem: add copy_from_iter_pmem() and clear_pmem()
    pmem, x86: clean up conditional pmem includes
    pmem: remove layer when calling arch_has_wmb_pmem()
    pmem, x86: move x86 PMEM API to new pmem.h header
    libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
    pmem: switch to devm_ allocations
    devres: add devm_memremap
    libnvdimm, btt: write and validate parent_uuid
    ...

    Linus Torvalds
     

06 Sep, 2015

1 commit

  • Pull nfsd updates from Bruce Fields:
    "Nothing major, but:

    - Add Jeff Layton as an nfsd co-maintainer: no change to existing
    practice, just an acknowledgement of the status quo.

    - Two patches ("nfsd: ensure that...") for a race overlooked by the
    state locking rewrite, causing a crash noticed by multiple users.

    - Lots of smaller bugfixes all over from Kinglong Mee.

    - From Jeff, some cleanup of server rpc code in preparation for
    possible shift of nfsd threads to workqueues"

    * tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux: (52 commits)
    nfsd: deal with DELEGRETURN racing with CB_RECALL
    nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case
    nfsd: ensure that delegation stateid hash references are only put once
    nfsd: ensure that the ol stateid hash reference is only put once
    net: sunrpc: fix tracepoint Warning: unknown op '->'
    nfsd: allow more than one laundry job to run at a time
    nfsd: don't WARN/backtrace for invalid container deployment.
    fs: fix fs/locks.c kernel-doc warning
    nfsd: Add Jeff Layton as co-maintainer
    NFSD: Return word2 bitmask if setting security label in OPEN/CREATE
    NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1
    nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL.
    nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug
    NFSD: Store parent's stat in a separate value
    nfsd: Fix two typos in comments
    lockd: NLM grace period shouldn't block NFSv4 opens
    nfsd: include linux/nfs4.h in export.h
    sunrpc: Switch to using hash list instead single list
    sunrpc/nfsd: Remove redundant code by exports seq_operations functions
    sunrpc: Store cache_detail in seq_file's private directly
    ...

    Linus Torvalds
     

04 Sep, 2015

2 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "The major work includes fixing and enhancing the existing extent_cache
    feature, which has been well settling down so far and now it becomes a
    default mount option accordingly.

    Also, this version newly registers a f2fs memory shrinker to reclaim
    several objects consumed by a couple of data structures in order to
    avoid memory pressures.

    Another new feature is to add ioctl(F2FS_GARBAGE_COLLECT) which
    triggers a cleaning job explicitly by users.

    Most of the other patches are to fix bugs occurred in the corner cases
    across the whole code area"

    * tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (85 commits)
    f2fs: upset segment_info repair
    f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent
    f2fs: update extent tree in batches
    f2fs: fix to release inode correctly
    f2fs: handle f2fs_truncate error correctly
    f2fs: avoid unneeded initializing when converting inline dentry
    f2fs: atomically set inode->i_flags
    f2fs: fix wrong pointer access during try_to_free_nids
    f2fs: use __GFP_NOFAIL to avoid infinite loop
    f2fs: lookup neighbor extent nodes for merging later
    f2fs: split __insert_extent_tree_ret for readability
    f2fs: kill dead code in __insert_extent_tree
    f2fs: adjust showing of extent cache stat
    f2fs: add largest/cached stat in extent cache
    f2fs: fix incorrect mapping for bmap
    f2fs: add annotation for space utilization of regular/inline dentry
    f2fs: fix to update cached_en of extent tree properly
    f2fs: fix typo
    f2fs: check the node block address of newly allocated nid
    f2fs: go out for insert_inode_locked failure
    ...

    Linus Torvalds
     
  • Pull ext3 removal, quota & udf fixes from Jan Kara:
    "The biggest change in the pull is the removal of ext3 filesystem
    driver (~28k lines removed). Ext4 driver is a full featured
    replacement these days and both RH and SUSE use it for several years
    without issues. Also there are some workarounds in VM & block layer
    mainly for ext3 which we could eventually get rid of.

    Other larger change is addition of proper error handling for
    dquot_initialize(). The rest is small fixes and cleanups"

    [ I wasn't convinced about the ext3 removal and worried about things
    falling through the cracks for legacy users, but ext4 maintainers
    piped up and were all unanimously in favor of removal, and maintaining
    all legacy ext3 support inside ext4. - Linus ]

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    udf: Don't modify filesystem for read-only mounts
    quota: remove an unneeded condition
    ext4: memory leak on error in ext4_symlink()
    mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition
    ext4: Improve ext4 Kconfig test
    block: Remove forced page bouncing under IO
    fs: Remove ext3 filesystem driver
    doc: Update doc about journalling layer
    jfs: Handle error from dquot_initialize()
    reiserfs: Handle error from dquot_initialize()
    ocfs2: Handle error from dquot_initialize()
    ext4: Handle error from dquot_initialize()
    ext2: Handle error from dquot_initalize()
    quota: Propagate error from ->acquire_dquot()

    Linus Torvalds
     

01 Sep, 2015

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "There's been a fair amount going on in the docs tree this time around,
    including:

    - Support for reproducible document builds, from Ben Hutchings and
    company.

    - The ability to automatically generate cross-reference links within
    a single DocBook book and embedded descriptions for large
    structures. From Danilo Cesar Lemes de Paula.

    - A new document on how to add a system call from David Drysdale.

    - Chameleon bus documentation from Johannes Thumshirn.

    ...plus the usual collection of improvements, typo fixes, and more"

    * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (39 commits)
    Documentation, add kernel-parameters.txt entry for dis_ucode_ldr
    Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE
    Documentation/Intel-IOMMU.txt: Modify definition of DRHD
    docs: update HOWTO for 3.x -> 4.x versioning
    kernel-doc: ignore unneeded attribute information
    scripts/kernel-doc: Adding cross-reference links to html documentation.
    DocBook: Fix non-determinstic installation of duplicate man pages
    Documentation: minor typo fix in mailbox.txt
    Documentation: describe how to add a system call
    doc: Add more workqueue functions to the documentation
    ARM: keystone: add documentation for SoCs and EVMs
    scripts/kernel-doc Allow struct arguments documentation in struct body
    SubmittingPatches: remove stray quote character
    Revert "DocBook: Avoid building man pages repeatedly and inconsistently"
    Documentation: Minor changes to men-chameleon-bus.txt
    Doc: fix trivial typo in SubmittingPatches
    MAINTAINERS: Direct Documentation/DocBook/media properly
    Documentation: installed man pages don't need to be executable
    fix Evolution submenu name in email-clients.txt
    Documentation: Add MCB documentation
    ...

    Linus Torvalds
     

21 Aug, 2015

1 commit

  • Update the annotation for the kaddr pointer returned by direct_access()
    so that it is a __pmem pointer. This is consistent with the PMEM driver
    and with how this direct_access() pointer is used in the DAX code.

    Signed-off-by: Ross Zwisler
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Dan Williams

    Ross Zwisler
     

06 Aug, 2015

1 commit

  • Changed the documentation to allow sprintf() when the buffer
    provided by sysfs cannot be overflowed. Explicitly say
    snprintf() must never be used in a show function to format
    data to be returned to user space.

    Change based on a discussion about the patch
    st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO

    Suggested-by: Greg Kroah-Hartman
    Signed-off-by: Shane Seymour
    Signed-off-by: Greg Kroah-Hartman

    Seymour, Shane M
     

05 Aug, 2015

1 commit


24 Jul, 2015

2 commits

  • This patch update the Documentation/filesystems/debugfs.txt
    file. The main work is to add the description of the following
    functions:
    debugfs_create_atomic_t
    debugfs_create_u32_array
    debugfs_create_devm_seqfile
    debugfs_create_file_size

    Signed-off-by: Wang Long
    Signed-off-by: Jonathan Corbet

    Wang Long
     
  • The functionality of ext3 is fully supported by ext4 driver. Major
    distributions (SUSE, RedHat) already use ext4 driver to handle ext3
    filesystems for quite some time. There is some ugliness in mm resulting
    from jbd cleaning buffers in a dirty page without cleaning page dirty
    bit and also support for buffer bouncing in the block layer when stable
    pages are required is there only because of jbd. So let's remove the
    ext3 driver. This saves us some 28k lines of duplicated code.

    Acked-by: Theodore Ts'o
    Signed-off-by: Jan Kara

    Jan Kara
     

21 Jul, 2015

1 commit


10 Jul, 2015

1 commit


05 Jul, 2015

2 commits

  • Pull more vfs updates from Al Viro:
    "Assorted VFS fixes and related cleanups (IMO the most interesting in
    that part are f_path-related things and Eric's descriptor-related
    stuff). UFS regression fixes (it got broken last cycle). 9P fixes.
    fs-cache series, DAX patches, Jan's file_remove_suid() work"

    [ I'd say this is much more than "fixes and related cleanups". The
    file_table locking rule change by Eric Dumazet is a rather big and
    fundamental update even if the patch isn't huge. - Linus ]

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (49 commits)
    9p: cope with bogus responses from server in p9_client_{read,write}
    p9_client_write(): avoid double p9_free_req()
    9p: forgetting to cancel request on interrupted zero-copy RPC
    dax: bdev_direct_access() may sleep
    block: Add support for DAX reads/writes to block devices
    dax: Use copy_from_iter_nocache
    dax: Add block size note to documentation
    fs/file.c: __fget() and dup2() atomicity rules
    fs/file.c: don't acquire files->file_lock in fd_install()
    fs:super:get_anon_bdev: fix race condition could cause dev exceed its upper limitation
    vfs: avoid creation of inode number 0 in get_next_ino
    namei: make set_root_rcu() return void
    make simple_positive() public
    ufs: use dir_pages instead of ufs_dir_pages()
    pagemap.h: move dir_pages() over there
    remove the pointless include of lglock.h
    fs: cleanup slight list_entry abuse
    xfs: Correctly lock inode when removing suid and file capabilities
    fs: Call security_ops->inode_killpriv on truncate
    fs: Provide function telling whether file_remove_privs() will do anything
    ...

    Linus Torvalds
     
  • For block devices which are small enough, mkfs will default to creating
    a filesystem with block sizes smaller than page size.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Al Viro

    Matthew Wilcox
     

01 Jul, 2015

2 commits

  • Mateusz Guzik reported :

    Currently obtaining a new file descriptor results in locking fdtable
    twice - once in order to reserve a slot and second time to fill it.

    Holding the spinlock in __fd_install() is needed in case a resize is
    done, or to prevent a resize.

    Mateusz provided an RFC patch and a micro benchmark :
    http://people.redhat.com/~mguzik/pipebench.c

    A resize is an unlikely operation in a process lifetime,
    as table size is at least doubled at every resize.

    We can use RCU instead of the spinlock.

    __fd_install() must wait if a resize is in progress.

    The resize must block new __fd_install() callers from starting,
    and wait that ongoing install are finished (synchronize_sched())

    resize should be attempted by a single thread to not waste resources.

    rcu_sched variant is used, as __fd_install() and expand_fdtable() run
    from process context.

    It gives us a ~30% speedup using pipebench on a dual Intel(R) Xeon(R)
    CPU E5-2696 v2 @ 2.50GHz

    Signed-off-by: Eric Dumazet
    Reported-by: Mateusz Guzik
    Acked-by: Mateusz Guzik
    Tested-by: Mateusz Guzik
    Signed-off-by: Al Viro

    Eric Dumazet
     
  • Pul xfs updates from Dave Chinner:
    "There's a couple of small API changes to the core DAX code which
    required small changes to the ext2 and ext4 code bases, but otherwise
    everything is within the XFS codebase.

    This update contains:

    - A new sparse on-disk inode record format to allow small extents to
    be used for inode allocation when free space is fragmented.

    - DAX support. This includes minor changes to the DAX core code to
    fix problems with lock ordering and bufferhead mapping abuse.

    - transaction commit interface cleanup

    - removal of various unnecessary XFS specific type definitions

    - cleanup and optimisation of freelist preparation before allocation

    - various minor cleanups

    - bug fixes for
    - transaction reservation leaks
    - incorrect inode logging in unwritten extent conversion
    - mmap lock vs freeze ordering
    - remote symlink mishandling
    - attribute fork removal issues"

    * tag 'xfs-for-linus-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits)
    xfs: don't truncate attribute extents if no extents exist
    xfs: clean up XFS_MIN_FREELIST macros
    xfs: sanitise error handling in xfs_alloc_fix_freelist
    xfs: factor out free space extent length check
    xfs: xfs_alloc_fix_freelist() can use incore perag structures
    xfs: remove xfs_caddr_t
    xfs: use void pointers in log validation helpers
    xfs: return a void pointer from xfs_buf_offset
    xfs: remove inst_t
    xfs: remove __psint_t and __psunsigned_t
    xfs: fix remote symlinks on V5/CRC filesystems
    xfs: fix xfs_log_done interface
    xfs: saner xfs_trans_commit interface
    xfs: remove the flags argument to xfs_trans_cancel
    xfs: pass a boolean flag to xfs_trans_free_items
    xfs: switch remaining xfs_trans_dup users to xfs_trans_roll
    xfs: check min blks for random debug mode sparse allocations
    xfs: fix sparse inodes 32-bit compile failure
    xfs: add initial DAX support
    xfs: add DAX IO path support
    ...

    Linus Torvalds
     

28 Jun, 2015

1 commit

  • Pull nfsd updates from Bruce Fields:
    "A relatively quiet cycle, with a mix of cleanup and smaller bugfixes"

    * 'for-4.2' of git://linux-nfs.org/~bfields/linux: (24 commits)
    sunrpc: use sg_init_one() in krb5_rc4_setup_enc/seq_key()
    nfsd: wrap too long lines in nfsd4_encode_read
    nfsd: fput rd_file from XDR encode context
    nfsd: take struct file setup fully into nfs4_preprocess_stateid_op
    nfsd: refactor nfs4_preprocess_stateid_op
    nfsd: clean up raparams handling
    nfsd: use swap() in sort_pacl_range()
    rpcrdma: Merge svcrdma and xprtrdma modules into one
    svcrdma: Add a separate "max data segs macro for svcrdma
    svcrdma: Replace GFP_KERNEL in a loop with GFP_NOFAIL
    svcrdma: Keep rpcrdma_msg fields in network byte-order
    svcrdma: Fix byte-swapping in svc_rdma_sendto.c
    nfsd: Update callback sequnce id only CB_SEQUENCE success
    nfsd: Reset cb_status in nfsd4_cb_prepare() at retrying
    svcrdma: Remove svc_rdma_xdr_decode_deferred_req()
    SUNRPC: Move EXPORT_SYMBOL for svc_process
    uapi/nfs: Add NFSv4.1 ACL definitions
    nfsd: Remove dead declarations
    nfsd: work around a gcc-5.1 warning
    nfsd: Checking for acl support does not require fetching any acls
    ...

    Linus Torvalds
     

25 Jun, 2015

2 commits

  • Pull UDF fixes and cleanups from Jan Kara:
    "The contains some small fixes and improvements in error handling for
    UDF.

    Bundled is also one ext3 coding style fix and a fix in quota
    documentation"

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    udf: fix udf_load_pvoldesc()
    udf: remove double err declaration in udf_file_write_iter()
    UDF: support NFSv2 export
    fs: ext3: super: fixed a space coding style issue
    quota: Update documentation
    udf: Return error from udf_find_entry()
    udf: Make udf_get_filename() return error instead of 0 length file name
    udf: bug on exotic flag in udf_get_filename()
    udf: improve error management in udf_CS0toNLS()
    udf: improve error management in udf_CS0toUTF8()
    udf: unicode: update function name in comments
    udf: remove unnecessary test in udf_build_ustr_exact()
    udf: Return -ENOMEM when allocation fails in udf_get_filename()

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "The main thing here is Ingo's big subdirectory documenting feature
    support for each architecture. Beyond that, it's the usual pile of
    fixes, tweaks, and small additions"

    * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (79 commits)
    doc:md: fix typo in md.txt.
    Documentation/mic/mpssd: don't build x86 userspace when cross compiling
    Documentation/prctl: don't build tsc tests when cross compiling
    Documentation/vDSO: don't build tests when cross compiling
    Doc:ABI/testing: Fix typo in sysfs-bus-fcoe
    Doc: Docbook: Change wikipedia's URL from http to https in scsi.tmpl
    Doc: Change wikipedia's URL from http to https
    Documentation/kernel-parameters: add missing pciserial to the earlyprintk
    Doc:pps: Fix typo in pps.txt
    kbuild : Fix documentation of INSTALL_HDR_PATH
    Documentation: filesystems: updated struct file_operations documentation in vfs.txt
    kbuild: edit explanation of clean-files variable
    Doc: ja_JP: Fix typo in HOWTO
    Move freefall program from Documentation/ to tools/
    Documentation: ARM: EXYNOS: Describe boot loaders interface
    Doc:nfc: Fix typo in nfc-hci.txt
    vfs: Minor documentation fix
    Doc: networking: txtimestamp: fix printf format warning
    Documentation, intel_pstate: Improve legacy mode internal governors description
    Documentation: extend use case for EXPORT_SYMBOL_GPL()
    ...

    Linus Torvalds
     

24 Jun, 2015

1 commit


09 Jun, 2015

1 commit


05 Jun, 2015

1 commit


01 Jun, 2015

1 commit


18 May, 2015

1 commit


15 May, 2015

2 commits


11 May, 2015

3 commits

  • only one instance looks at that argument at all; that sole
    exception wants inode rather than dentry.

    Signed-off-by: Al Viro

    Al Viro
     
  • its only use is getting passed to nd_jump_link(), which can obtain
    it from current->nameidata

    Signed-off-by: Al Viro

    Al Viro
     
  • a) instead of storing the symlink body (via nd_set_link()) and returning
    an opaque pointer later passed to ->put_link(), ->follow_link() _stores_
    that opaque pointer (into void * passed by address by caller) and returns
    the symlink body. Returning ERR_PTR() on error, NULL on jump (procfs magic
    symlinks) and pointer to symlink body for normal symlinks. Stored pointer
    is ignored in all cases except the last one.

    Storing NULL for opaque pointer (or not storing it at all) means no call
    of ->put_link().

    b) the body used to be passed to ->put_link() implicitly (via nameidata).
    Now only the opaque pointer is. In the cases when we used the symlink body
    to free stuff, ->follow_link() now should store it as opaque pointer in addition
    to returning it.

    Signed-off-by: Al Viro

    Al Viro
     

08 May, 2015

2 commits


05 May, 2015

1 commit


24 Apr, 2015

1 commit

  • Pull xfs update from Dave Chinner:
    "This update contains:

    - RENAME_WHITEOUT support

    - conversion of per-cpu superblock accounting to use generic counters

    - new inode mmap lock so that we can lock page faults out of
    truncate, hole punch and other direct extent manipulation functions
    to avoid racing mmap writes from causing data corruption

    - rework of direct IO submission and completion to solve data
    corruption issue when running concurrent extending DIO writes.
    Also solves problem of running IO completion transactions in
    interrupt context during size extending AIO writes.

    - FALLOC_FL_INSERT_RANGE support for inserting holes into a file via
    direct extent manipulation to avoid needing to copy data within the
    file

    - attribute block header field overflow fix for 64k block size
    filesystems

    - Lots of changes to log messaging to be more informative and concise
    when errors occur. Also prevent a lot of unnecessary log spamming
    due to cascading failures in error conditions.

    - lots of cleanups and bug fixes

    One thing of note is the direct IO fixes that we merged last week
    after the window opened. Even though a little late, they fix a user
    reported data corruption and have been pretty well tested. I figured
    there was not much point waiting another 2 weeks for -rc1 to be
    released just so I could send them to you..."

    * tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits)
    xfs: using generic_file_direct_write() is unnecessary
    xfs: direct IO EOF zeroing needs to drain AIO
    xfs: DIO write completion size updates race
    xfs: DIO writes within EOF don't need an ioend
    xfs: handle DIO overwrite EOF update completion correctly
    xfs: DIO needs an ioend for writes
    xfs: move DIO mapping size calculation
    xfs: factor DIO write mapping from get_blocks
    xfs: unlock i_mutex in xfs_break_layouts
    xfs: kill unnecessary firstused overflow check on attr3 leaf removal
    xfs: use larger in-core attr firstused field and detect overflow
    xfs: pass attr geometry to attr leaf header conversion functions
    xfs: disallow ro->rw remount on norecovery mount
    xfs: xfs_shift_file_space can be static
    xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate
    fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
    xfs: Fix incorrect positive ENOMEM return
    xfs: xfs_mru_cache_insert() should use GFP_NOFS
    xfs: %pF is only for function pointers
    xfs: fix shadow warning in xfs_da3_root_split()
    ...

    Linus Torvalds
     

23 Apr, 2015

1 commit

  • Pull InfiniBand/RDMA updates from Roland Dreier:

    - IPoIB fixes from Doug Ledford and Erez Shitrit

    - iSER updates from Sagi Grimberg

    - mlx4 GUID handling changes from Yishai Hadas

    - other misc fixes

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (51 commits)
    mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures
    IB/iser: Rewrite bounce buffer code path
    IB/iser: Bump version to 1.6
    IB/iser: Remove code duplication for a single DMA entry
    IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr
    IB/iser: Modify struct iser_mem_reg members
    IB/iser: Make fastreg pool cache friendly
    IB/iser: Move PI context alloc/free to routines
    IB/iser: Move fastreg descriptor pool get/put to helper functions
    IB/iser: Merge build page-vec into register page-vec
    IB/iser: Get rid of struct iser_rdma_regd
    IB/iser: Remove redundant assignments in iser_reg_page_vec
    IB/iser: Move memory reg/dereg routines to iser_memory.c
    IB/iser: Don't pass ib_device to fall_to_bounce_buff routine
    IB/iser: Remove a redundant struct iser_data_buf
    IB/iser: Remove redundant cmd_data_len calculation
    IB/iser: Fix wrong calculation of protection buffer length
    IB/iser: Handle fastreg/local_inv completion errors
    IB/iser: Fix unload during ep_poll wrong dereference
    ib_srpt: convert printk's to pr_* functions
    ...

    Linus Torvalds
     

18 Apr, 2015

2 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "New features:
    - in-memory extent_cache
    - fs_shutdown to test power-off-recovery
    - use inline_data to store symlink path
    - show f2fs as a non-misc filesystem

    Major fixes:
    - avoid CPU stalls on sync_dirty_dir_inodes
    - fix some power-off-recovery procedure
    - fix handling of broken symlink correctly
    - fix missing dot and dotdot made by sudden power cuts
    - handle wrong data index during roll-forward recovery
    - preallocate data blocks for direct_io

    ... and a bunch of minor bug fixes and cleanups"

    * tag 'for-f2fs-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (71 commits)
    f2fs: pass checkpoint reason on roll-forward recovery
    f2fs: avoid abnormal behavior on broken symlink
    f2fs: flush symlink path to avoid broken symlink after POR
    f2fs: change 0 to false for bool type
    f2fs: do not recover wrong data index
    f2fs: do not increase link count during recovery
    f2fs: assign parent's i_mode for empty dir
    f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
    f2fs: fix mismatching lock and unlock pages for roll-forward recovery
    f2fs: fix sparse warnings
    f2fs: limit b_size of mapped bh in f2fs_map_bh
    f2fs: persist system.advise into on-disk inode
    f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
    f2fs: preallocate fallocated blocks for direct IO
    f2fs: enable inline data by default
    f2fs: preserve extent info for extent cache
    f2fs: initialize extent tree with on-disk extent info of inode
    f2fs: introduce __{find,grab}_extent_tree
    f2fs: split set_data_blkaddr from f2fs_update_extent_cache
    f2fs: enable fast symlink by utilizing inline data
    ...

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "Numerous fixes, the overdue removal of the i2o docs, some new Chinese
    translations, and, hopefully, the README fix that will end the flow of
    identical patches to that file"

    * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (34 commits)
    Documentation/memcg: update memcg/kmem status
    Documentation: blackfin: Makefile: Typo building issue
    Documentation/vm/pagemap.txt: correct location of page-types tool
    Documentation/memory-barriers.txt: typo fix
    doc: Add guest_nice column to example output of `cat /proc/stat'
    Documentation/kernel-parameters: Move "eagerfpu" to its right place
    Documentation: gpio: Update ACPI part of the document to mention _DSD
    docs/completion.txt: Various tweaks and corrections
    doc: completion: context, scope and language fixes
    Documentation:Update Documentation/zh_CN/arm64/memory.txt
    Documentation:Update Documentation/zh_CN/arm64/booting.txt
    Documentation: Chinese translation of arm64/legacy_instructions.txt
    DocBook media: fix broken EIA hyperlink
    Documentation: tweak the maintainers entry
    README: Change gzip/bzip2 to xz compression format
    README: Update version number reference
    doc:pci: Fix typo in Documentation/PCI
    Documentation: drm: Use '->' when describing access through pointers.
    Documentation: Remove mentioning of block barriers
    Documentation/email-clients.txt: Fix one grammar mistake, add extra info about TB
    ...

    Linus Torvalds
     

17 Apr, 2015

1 commit

  • Merge third patchbomb from Andrew Morton:

    - various misc things

    - a couple of lib/ optimisations

    - provide DIV_ROUND_CLOSEST_ULL()

    - checkpatch updates

    - rtc tree

    - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs

    - ptrace fixes

    - fork() fixes

    - seccomp cleanups

    - more mmap_sem hold time reductions from Davidlohr

    * emailed patches from Andrew Morton : (138 commits)
    proc: show locks in /proc/pid/fdinfo/X
    docs: add missing and new /proc/PID/status file entries, fix typos
    drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
    Documentation/spi/spidev_test.c: fix warning
    drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type
    .gitignore: ignore *.tar
    MAINTAINERS: add Mediatek SoC mailing list
    tomoyo: reduce mmap_sem hold for mm->exe_file
    powerpc/oprofile: reduce mmap_sem hold for exe_file
    oprofile: reduce mmap_sem hold for mm->exe_file
    mips: ip32: add platform data hooks to use DS1685 driver
    lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
    x86: switch to using asm-generic for seccomp.h
    sparc: switch to using asm-generic for seccomp.h
    powerpc: switch to using asm-generic for seccomp.h
    parisc: switch to using asm-generic for seccomp.h
    mips: switch to using asm-generic for seccomp.h
    microblaze: use asm-generic for seccomp.h
    arm: use asm-generic for seccomp.h
    seccomp: allow COMPAT sigreturn overrides
    ...

    Linus Torvalds