[Top] [All Lists]

[XFS updates] XFS development tree branch, for-next, updated. v3.7-rc1

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, for-next, updated. v3.7-rc1
From: xfs@xxxxxxxxxxx
Date: Tue, 16 Oct 2012 10:45:01 -0500
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".

The branch, for-next has been updated
  35c2a7f tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking
  0b173bc mm: kill vma flag VM_CAN_NONLINEAR
  60c7b4d Merge tag 'for-linus-v3.7-rc1' of git://oss.sgi.com/xfs/xfs
  aab174f Merge branch 'for-linus' of 
  8c0a853 fs: push rcu_barrier() from deactivate_locked_super() to filesystems
  437589a Merge branch 'for-linus' of 
  033d995 Merge branch 'for-3.7' of 
  2903ff0 switch simple cases of fget_light to fdget
  64e09fa switch xfs_find_handle() to fget_light()
  1ea65c9 switch xfs_swapext() to fget_light()
  0ba6e53 xfs: stop the sync worker before xfs_unmountfs
  431f197 userns: Convert quota netlink aka quota_send_warning
  74a8a10 userns: Convert qutoactl
  5f3a4a2 userns: Pass a userns parameter into posix_acl_to_xattr and 
  6fb8a90 xfs: fix race while discarding buffers [V4]
  a672e1b xfs: check for possible overflow in xfs_ioc_trim
  7612903 xfs: unlock the AGI buffer when looping in xfs_dialloc
  0b9e3f6 xfs: fix uninitialised variable in xfs_rtbuf_get()
  4382973 workqueue: deprecate flush[_delayed]_work_sync()
      from  2ea0392983a82f7dc3055568ae0f2558724d119b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 35c2a7f4908d404c9124c2efc6ada4640ca4d5d5
Author: Hugh Dickins <hughd@xxxxxxxxxx>
Date:   Sun Oct 7 20:32:51 2012 -0700

    tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking
    Fuzzing with trinity oopsed on the 1st instruction of shmem_fh_to_dentry(),
        u64 inum = fid->raw[2];
    which is unhelpfully reported as at the end of shmem_alloc_inode():
    BUG: unable to handle kernel paging request at ffff880061cd3000
    IP: [<ffffffff812190d0>] shmem_alloc_inode+0x40/0x40
    Call Trace:
     [<ffffffff81488649>] ? exportfs_decode_fh+0x79/0x2d0
     [<ffffffff812d77c3>] do_handle_open+0x163/0x2c0
     [<ffffffff812d792c>] sys_open_by_handle_at+0xc/0x10
     [<ffffffff83a5f3f8>] tracesys+0xe1/0xe6
    Right, tmpfs is being stupid to access fid->raw[2] before validating that
    fh_len includes it: the buffer kmalloc'ed by do_sys_name_to_handle() may
    fall at the end of a page, and the next page not be present.
    But some other filesystems (ceph, gfs2, isofs, reiserfs, xfs) are being
    careless about fh_len too, in fh_to_dentry() and/or fh_to_parent(), and
    could oops in the same way: add the missing fh_len checks to those.
    Reported-by: Sasha Levin <levinsasha928@xxxxxxxxx>
    Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Cc: Sage Weil <sage@xxxxxxxxxxx>
    Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
    Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxxxxxxx
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

commit 0b173bc4daa8f8ec03a85abf5e47b23502ff80af
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
Date:   Mon Oct 8 16:28:46 2012 -0700

    mm: kill vma flag VM_CAN_NONLINEAR
    Move actual pte filling for non-linear file mappings into the new special
    vma operation: ->remap_pages().
    Filesystems must implement this method to get non-linear mapping 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 
    Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
    Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
    Cc: Carsten Otte <cotte@xxxxxxxxxx>
    Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>     #arch/tile
    Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
    Cc: Eric Paris <eparis@xxxxxxxxxx>
    Cc: H. Peter Anvin <hpa@xxxxxxxxx>
    Cc: Hugh Dickins <hughd@xxxxxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxxxxx>
    Cc: James Morris <james.l.morris@xxxxxxxxxx>
    Cc: Jason Baron <jbaron@xxxxxxxxxx>
    Cc: Kentaro Takeda <takedakn@xxxxxxxxxxxxx>
    Cc: Matt Helsley <matthltc@xxxxxxxxxx>
    Cc: Nick Piggin <npiggin@xxxxxxxxx>
    Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Robert Richter <robert.richter@xxxxxxx>
    Cc: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
    Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
    Cc: Venkatesh Pallipadi <venki@xxxxxxxxxx>
    Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 60c7b4df82d0ec44fe10487eadec737abea55b34
Merge: aab174f 2ea0392
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Tue Oct 2 20:42:58 2012 -0700

    Merge tag 'for-linus-v3.7-rc1' of git://oss.sgi.com/xfs/xfs
    Pull xfs update from Ben Myers:
     "Several enhancements and cleanups:
       - make inode32 and inode64 remountable options
       - SEEK_HOLE/SEEK_DATA enhancements
       - cleanup struct declarations in xfs_mount.h"
    * tag 'for-linus-v3.7-rc1' of git://oss.sgi.com/xfs/xfs:
      xfs: Make inode32 a remountable option
      xfs: add inode64->inode32 transition into xfs_set_inode32()
      xfs: Fix mp->m_maxagi update during inode64 remount
      xfs: reduce code duplication handling inode32/64 options
      xfs: make inode64 as the default allocation mode
      xfs: Fix m_agirotor reset during AG selection
      Make inode64 a remountable option
      xfs: stop the sync worker before xfs_unmountfs
      xfs: xfs_seek_hole() refinement with hole searching from page cache for 
unwritten extents
      xfs: xfs_seek_data() refinement with unwritten extents check up from page 
      xfs: Introduce a helper routine to probe data or hole offset from page 
      xfs: Remove type argument from xfs_seek_data()/xfs_seek_hole()
      xfs: fix race while discarding buffers [V4]
      xfs: check for possible overflow in xfs_ioc_trim
      xfs: unlock the AGI buffer when looping in xfs_dialloc
      xfs: kill struct declarations in xfs_mount.h
      xfs: fix uninitialised variable in xfs_rtbuf_get()

commit aab174f0df5d72d31caccf281af5f614fa254578
Merge: ca41cc9 2bd2c19
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Tue Oct 2 20:25:04 2012 -0700

    Merge branch 'for-linus' of 
    Pull vfs update from Al Viro:
     - big one - consolidation of descriptor-related logics; almost all of
       that is moved to fs/file.c
       (BTW, I'm seriously tempted to rename the result to fd.c.  As it is,
       we have a situation when file_table.c is about handling of struct
       file and file.c is about handling of descriptor tables; the reasons
       are historical - file_table.c used to be about a static array of
       struct file we used to have way back).
       A lot of stray ends got cleaned up and converted to saner primitives,
       disgusting mess in android/binder.c is still disgusting, but at least
       doesn't poke so much in descriptor table guts anymore.  A bunch of
       relatively minor races got fixed in process, plus an ext4 struct file
     - related thing - fget_light() partially unuglified; see fdget() in
       there (and yes, it generates the code as good as we used to have).
     - also related - bits of Cyrill's procfs stuff that got entangled into
       that work; _not_ all of it, just the initial move to fs/proc/fd.c and
       switch of fdinfo to seq_file.
     - Alex's fs/coredump.c spiltoff - the same story, had been easier to
       take that commit than mess with conflicts.  The rest is a separate
       pile, this was just a mechanical code movement.
     - a few misc patches all over the place.  Not all for this cycle,
       there'll be more (and quite a few currently sit in akpm's tree)."
    Fix up trivial conflicts in the android binder driver, and some fairly
    simple conflicts due to two different changes to the sock_alloc_file()
    interface ("take descriptor handling from sock_alloc_file() to callers"
    vs "net: Providing protocol type via system.sockprotoname xattr of
    /proc/PID/fd entries" adding a dentry name to the socket)
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: 
(72 commits)
      MAX_LFS_FILESIZE should be a loff_t
      compat: fs: Generic compat_sys_sendfile implementation
      fs: push rcu_barrier() from deactivate_locked_super() to filesystems
      btrfs: reada_extent doesn't need kref for refcount
      coredump: move core dump functionality into its own file
      coredump: prevent double-free on an error path in core dumper
      usb/gadget: fix misannotations
      fcntl: fix misannotations
      ceph: don't abuse d_delete() on failure exits
      hypfs: ->d_parent is never NULL or negative
      vfs: delete surplus inode NULL check
      switch simple cases of fget_light to fdget
      new helpers: fdget()/fdput()
      switch o2hb_region_dev_write() to fget_light()
      proc_map_files_readdir(): don't bother with grabbing files
      make get_file() return its argument
      vhost_set_vring(): turn pollstart/pollstop into bool
      switch prctl_set_mm_exe_file() to fget_light()
      switch xfs_find_handle() to fget_light()
      switch xfs_swapext() to fget_light()

commit 8c0a85377048b64c880e76ec7368904fe46d0b94
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date:   Wed Sep 26 11:33:07 2012 +1000

    fs: push rcu_barrier() from deactivate_locked_super() to filesystems
    There's no reason to call rcu_barrier() on every
    deactivate_locked_super().  We only need to make sure that all delayed rcu
    free inodes are flushed before we destroy related cache.
    Removing rcu_barrier() from deactivate_locked_super() affects some fast
    paths.  E.g.  on my machine exit_group() of a last process in IPC
    namespace takes 0.07538s.  rcu_barrier() takes 0.05188s of that time.
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

commit 437589a74b6a590d175f86cf9f7b2efcee7765e7
Merge: 68d47a1 72235465
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Tue Oct 2 11:11:09 2012 -0700

    Merge branch 'for-linus' of 
    Pull user namespace changes from Eric Biederman:
     "This is a mostly modest set of changes to enable basic user namespace
      support.  This allows the code to code to compile with user namespaces
      enabled and removes the assumption there is only the initial user
      namespace.  Everything is converted except for the most complex of the
      filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,
      nfs, ocfs2 and xfs as those patches need a bit more review.
      The strategy is to push kuid_t and kgid_t values are far down into
      subsystems and filesystems as reasonable.  Leaving the make_kuid and
      from_kuid operations to happen at the edge of userspace, as the values
      come off the disk, and as the values come in from the network.
      Letting compile type incompatible compile errors (present when user
      namespaces are enabled) guide me to find the issues.
      The most tricky areas have been the places where we had an implicit
      union of uid and gid values and were storing them in an unsigned int.
      Those places were converted into explicit unions.  I made certain to
      handle those places with simple trivial patches.
      Out of that work I discovered we have generic interfaces for storing
      quota by projid.  I had never heard of the project identifiers before.
      Adding full user namespace support for project identifiers accounts
      for most of the code size growth in my git tree.
      Ultimately there will be work to relax privlige checks from
      "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing
      root in a user names to do those things that today we only forbid to
      non-root users because it will confuse suid root applications.
      While I was pushing kuid_t and kgid_t changes deep into the audit code
      I made a few other cleanups.  I capitalized on the fact we process
      netlink messages in the context of the message sender.  I removed
      usage of NETLINK_CRED, and started directly using current->tty.
      Some of these patches have also made it into maintainer trees, with no
      problems from identical code from different trees showing up in
      After reading through all of this code I feel like I might be able to
      win a game of kernel trivial pursuit."
    Fix up some fairly trivial conflicts in netfilter uid/git logging code.
    * 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 
      userns: Convert the ufs filesystem to use kuid/kgid where appropriate
      userns: Convert the udf filesystem to use kuid/kgid where appropriate
      userns: Convert ubifs to use kuid/kgid
      userns: Convert squashfs to use kuid/kgid where appropriate
      userns: Convert reiserfs to use kuid and kgid where appropriate
      userns: Convert jfs to use kuid/kgid where appropriate
      userns: Convert jffs2 to use kuid and kgid where appropriate
      userns: Convert hpfs to use kuid and kgid where appropriate
      userns: Convert btrfs to use kuid/kgid where appropriate
      userns: Convert bfs to use kuid/kgid where appropriate
      userns: Convert affs to use kuid/kgid wherwe appropriate
      userns: On alpha modify linux_to_osf_stat to use convert from kuids and 
      userns: On ia64 deal with current_uid and current_gid being kuid and kgid
      userns: On ppc convert current_uid from a kuid before printing.
      userns: Convert s390 getting uid and gid system calls to use kuid and kgid
      userns: Convert s390 hypfs to use kuid and kgid where appropriate
      userns: Convert binder ipc to use kuids
      userns: Teach security_path_chown to take kuids and kgids
      userns: Add user namespace support to IMA
      userns: Convert EVM to deal with kuids and kgids in it's hmac computation

commit 033d9959ed2dc1029217d4165f80a71702dc578e
Merge: 974a847 7c6e72e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Tue Oct 2 09:54:49 2012 -0700

    Merge branch 'for-3.7' of 
    Pull workqueue changes from Tejun Heo:
     "This is workqueue updates for v3.7-rc1.  A lot of activities this
      round including considerable API and behavior cleanups.
       * delayed_work combines a timer and a work item.  The handling of the
         timer part has always been a bit clunky leading to confusing
         cancelation API with weird corner-case behaviors.  delayed_work is
         updated to use new IRQ safe timer and cancelation now works as
       * Another deficiency of delayed_work was lack of the counterpart of
         mod_timer() which led to cancel+queue combinations or open-coded
         timer+work usages.  mod_delayed_work[_on]() are added.
         These two delayed_work changes make delayed_work provide interface
         and behave like timer which is executed with process context.
       * A work item could be executed concurrently on multiple CPUs, which
         is rather unintuitive and made flush_work() behavior confusing and
         half-broken under certain circumstances.  This problem doesn't
         exist for non-reentrant workqueues.  While non-reentrancy check
         isn't free, the overhead is incurred only when a work item bounces
         across different CPUs and even in simulated pathological scenario
         the overhead isn't too high.
         All workqueues are made non-reentrant.  This removes the
         distinction between flush_[delayed_]work() and
         flush_[delayed_]_work_sync().  The former is now as strong as the
         latter and the specified work item is guaranteed to have finished
         execution of any previous queueing on return.
       * In addition to the various bug fixes, Lai redid and simplified CPU
         hotplug handling significantly.
       * Joonsoo introduced system_highpri_wq and used it during CPU
      There are two merge commits - one to pull in IRQ safe timer from
      tip/timers/core and the other to pull in CPU hotplug fixes from
      wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."
    Fixed a number of trivial conflicts, but the more interesting conflicts
    were silent ones where the deprecated interfaces had been used by new
    code in the merge window, and thus didn't cause any real data conflicts.
    Tejun pointed out a few of them, I fixed a couple more.
    * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 
      workqueue: remove spurious WARN_ON_ONCE(in_irq()) from 
      workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
      workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
      workqueue: remove @delayed from cwq_dec_nr_in_flight()
      workqueue: fix possible stall on try_to_grab_pending() of a delayed work 
      workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
      workqueue: use __cpuinit instead of __devinit for cpu callbacks
      workqueue: rename manager_mutex to assoc_mutex
      workqueue: WORKER_REBIND is no longer necessary for idle rebinding
      workqueue: WORKER_REBIND is no longer necessary for busy rebinding
      workqueue: reimplement idle worker rebinding
      workqueue: deprecate __cancel_delayed_work()
      workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
      workqueue: use mod_delayed_work() instead of __cancel + queue
      workqueue: use irqsafe timer for delayed_work
      workqueue: clean up delayed_work initializers and add missing one
      workqueue: make deferrable delayed_work initializer names consistent
      workqueue: cosmetic whitespace updates for macro definitions
      workqueue: deprecate system_nrt[_freezable]_wq
      workqueue: deprecate flush[_delayed]_work_sync()

commit 2903ff019b346ab8d36ebbf54853c3aaf6590608
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date:   Tue Aug 28 12:52:22 2012 -0400

    switch simple cases of fget_light to fdget
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

commit 64e09fa2e1fef1696a8685c7aad7e0d3dd24ce71
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date:   Mon Aug 27 12:59:52 2012 -0400

    switch xfs_find_handle() to fget_light()
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

commit 1ea65c96077f9bb5c0e5e224a4da751d269c5f94
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date:   Mon Aug 27 12:57:12 2012 -0400

    switch xfs_swapext() to fget_light()
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

commit 431f19744d15531825cdbc8e771b43854b0d005b
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date:   Sun Sep 16 02:32:43 2012 -0700

    userns: Convert quota netlink aka quota_send_warning
    Modify quota_send_warning to take struct kqid instead a type and
    identifier pair.
    When sending netlink broadcasts always convert uids and quota
    identifiers into the intial user namespace.  There is as yet no way to
    send a netlink broadcast message with different contents to receivers
    in different namespaces, so for the time being just map all of the
    identifiers into the initial user namespace which preserves the
    current behavior.
    Change the callers of quota_send_warning in gfs2, xfs and dquot
    to generate a struct kqid to pass to quota send warning.  When
    all of the user namespaces convesions are complete a struct kqid
    values will be availbe without need for conversion, but a conversion
    is needed now to avoid needing to convert everything at once.
    Cc: Ben Myers <bpm@xxxxxxx>
    Cc: Alex Elder <elder@xxxxxxxxxx>
    Cc: Dave Chinner <david@xxxxxxxxxxxxx>
    Cc: Jan Kara <jack@xxxxxxx>
    Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

commit 74a8a103789465c4e67f38d1abb5cea770002601
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date:   Sun Sep 16 02:07:49 2012 -0700

    userns: Convert qutoactl
    Update the quotactl user space interface to successfull compile with
    user namespaces support enabled and to hand off quota identifiers to
    lower layers of the kernel in struct kqid instead of type and qid
    The quota on function is not converted because while it takes a quota
    type and an id.  The id is the on disk quota format to use, which
    is something completely different.
    The signature of two struct quotactl_ops methods were changed to take
    struct kqid argumetns get_dqblk and set_dqblk.
    The dquot, xfs, and ocfs2 implementations of get_dqblk and set_dqblk
    are minimally changed so that the code continues to work with
    the change in parameter type.
    This is the first in a series of changes to always store quota
    identifiers in the kernel in struct kqid and only use raw type and qid
    values when interacting with on disk structures or userspace.  Always
    using struct kqid internally makes it hard to miss places that need
    conversion to or from the kernel internal values.
    Cc: Jan Kara <jack@xxxxxxx>
    Cc: Dave Chinner <david@xxxxxxxxxxxxx>
    Cc: Mark Fasheh <mfasheh@xxxxxxxx>
    Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
    Cc: Ben Myers <bpm@xxxxxxx>
    Cc: Alex Elder <elder@xxxxxxxxxx>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

commit 5f3a4a28ec140a90e6058d1d09f6b1f235d485e5
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date:   Mon Sep 10 20:17:44 2012 -0700

    userns: Pass a userns parameter into posix_acl_to_xattr and 
     - Pass the user namespace the uid and gid values in the xattr are stored
       in into posix_acl_from_xattr.
     - Pass the user namespace kuid and kgid values should be converted into
       when storing uid and gid values in an xattr in posix_acl_to_xattr.
    - Modify all callers of posix_acl_from_xattr and posix_acl_to_xattr to
      pass in &init_user_ns.
    In the short term this change is not strictly needed but it makes the
    code clearer.  In the longer term this change is necessary to be able to
    mount filesystems outside of the initial user namespace that natively
    store posix acls in the linux xattr format.
    Cc: Theodore Tso <tytso@xxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx>
    Cc: Jan Kara <jack@xxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

commit 43829731dd372d04d6706c51052b9dabab9ca356
Author: Tejun Heo <tj@xxxxxxxxxx>
Date:   Mon Aug 20 14:51:24 2012 -0700

    workqueue: deprecate flush[_delayed]_work_sync()
    flush[_delayed]_work_sync() are now spurious.  Mark them deprecated
    and convert all users to flush[_delayed]_work().
    If you're cc'd and wondering what's going on: Now all workqueues are
    non-reentrant and the regular flushes guarantee that the work item is
    not pending or running on any CPU on return, so there's no reason to
    use the sync flushes at all and they're going away.
    This patch doesn't make any functional difference.
    Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
    Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
    Cc: Paul Mundt <lethal@xxxxxxxxxxxx>
    Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
    Cc: Jens Axboe <axboe@xxxxxxxxx>
    Cc: Mattia Dongili <malattia@xxxxxxxx>
    Cc: Kent Yoder <key@xxxxxxxxxxxxxxxxxx>
    Cc: David Airlie <airlied@xxxxxxxx>
    Cc: Jiri Kosina <jkosina@xxxxxxx>
    Cc: Karsten Keil <isdn@xxxxxxxxxxxxxx>
    Cc: Bryan Wu <bryan.wu@xxxxxxxxxxxxx>
    Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
    Cc: Alasdair Kergon <agk@xxxxxxxxxx>
    Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx>
    Cc: Florian Tobias Schandinat <FlorianSchandinat@xxxxxx>
    Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
    Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
    Cc: linux-wireless@xxxxxxxxxxxxxxx
    Cc: Anton Vorontsov <cbou@xxxxxxx>
    Cc: Sangbeom Kim <sbkim73@xxxxxxxxxxx>
    Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
    Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
    Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx>
    Cc: Takashi Iwai <tiwai@xxxxxxx>
    Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
    Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx>
    Cc: Mark Fasheh <mfasheh@xxxxxxxx>
    Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
    Cc: Avi Kivity <avi@xxxxxxxxxx>


Summary of changes:
 fs/xfs/xfs_acl.c         |    4 ++--
 fs/xfs/xfs_dfrag.c       |   34 +++++++++++++++++-----------------
 fs/xfs/xfs_export.c      |    3 +++
 fs/xfs/xfs_file.c        |    2 +-
 fs/xfs/xfs_ioctl.c       |   10 +++++-----
 fs/xfs/xfs_quotaops.c    |   12 ++++++------
 fs/xfs/xfs_super.c       |    7 ++++++-
 fs/xfs/xfs_sync.c        |    2 +-
 fs/xfs/xfs_trans_dquot.c |    8 +++++---
 9 files changed, 46 insertions(+), 36 deletions(-)

XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, for-next, updated. v3.7-rc1, xfs <=