From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e33.co.us.ibm.com ([32.97.110.151]:51765 "EHLO e33.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753393AbbAJT45 (ORCPT ); Sat, 10 Jan 2015 14:56:57 -0500 Received: from /spool/local by e33.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 10 Jan 2015 12:56:57 -0700 Date: Sat, 10 Jan 2015 11:56:48 -0800 From: "Paul E. McKenney" To: Omar Sandoval Cc: Chris Mason , Josef Bacik , David Sterba , Josh Triplett , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org Subject: Re: [PATCH RESEND v8 0/3] Introduce RCU string API Message-ID: <20150110195647.GA8063@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-btrfs-owner@vger.kernel.org List-ID: On Fri, Jan 09, 2015 at 12:35:57PM -0800, Omar Sandoval wrote: > Hi, everyone, > > Now that the merge window and the holidays are over, I've rebased this on > v3.19-rc3 for the next merge window. Wasn't btrfs going to take this one? If I am supposed to take it, please split out the RCU infrastructure portion so that I can push it separately. Thanx, Paul > This patch series introduces the RCU string API and cleans up the wreckage of > sparse warnings which follow from it (shown here from when the patch was > briefly in the btrfs integration tree): > > On Thu, Nov 27, 2014 at 06:45:20AM +0800, kbuild test robot wrote: > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git integration > > head: c7a37618b60026121255c69e042d74ae5631470c > > commit: 37aad79d90a0cbf82a5eda62dfe3af4241f5aca3 [38/39] Move BTRFS RCU string to common library > > reproduce: > > # apt-get install sparse > > git checkout 37aad79d90a0cbf82a5eda62dfe3af4241f5aca3 > > make ARCH=x86_64 allmodconfig > > make C=1 CF=-D__CHECK_ENDIAN__ > > > > > > sparse warnings: (new ones prefixed by >>) > > > > >> fs/btrfs/check-integrity.c:848:25: sparse: incorrect type in argument 1 (different address spaces) > > fs/btrfs/check-integrity.c:848:25: expected struct rcu_string [noderef] *rcu_str > > fs/btrfs/check-integrity.c:848:25: got struct rcu_string *name > [snip] > > Version 8 combines the original patch with another patch series I posted to fix > these warnings, which fixes the botched __rcu annotations that caused some of > the warnings and refactors the existing uses of rcustring to get rid of the > rest. There's also a patch to fix an RCU misuse. > > Thanks! > > v8: Get the __rcu annotations right, clean up RCU string-related sparse noise > v7: Add arguments to kernel doc for printk wrappers, use ##__VA_ARGS > v6: Add header dependencies to rcustring.h > v5: Rebase against v3.18-rc3 > v4: Don't return anything from the printk wrappers on the assumption that > printk will return void someday > v3: Add __rcu annotation to relevant functions, add Paul's ack and Josh's > review > > Omar Sandoval (3): > Move BTRFS RCU string to common library > btrfs: refactor btrfs_device->name updates > btrfs: fix suspicious RCU in BTRFS_IOC_DEV_INFO > > fs/btrfs/check-integrity.c | 6 +-- > fs/btrfs/dev-replace.c | 19 ++++---- > fs/btrfs/disk-io.c | 6 +-- > fs/btrfs/extent_io.c | 4 +- > fs/btrfs/ioctl.c | 14 +++--- > fs/btrfs/raid56.c | 2 +- > fs/btrfs/rcu-string.h | 56 ------------------------ > fs/btrfs/scrub.c | 15 ++++--- > fs/btrfs/super.c | 2 +- > fs/btrfs/volumes.c | 107 ++++++++++++++++++++++++++++++--------------- > fs/btrfs/volumes.h | 2 +- > include/linux/rcustring.h | 97 ++++++++++++++++++++++++++++++++++++++++ > 12 files changed, 204 insertions(+), 126 deletions(-) > delete mode 100644 fs/btrfs/rcu-string.h > create mode 100644 include/linux/rcustring.h > > -- > 2.2.1 >