linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND v8 0/3] Introduce RCU string API
@ 2015-01-09 20:35 Omar Sandoval
  2015-01-09 20:35 ` [PATCH RESEND v8 1/3] Move BTRFS RCU string to common library Omar Sandoval
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Omar Sandoval @ 2015-01-09 20:35 UTC (permalink / raw)
  To: Chris Mason, Josef Bacik, David Sterba, Paul E. McKenney,
	Josh Triplett, Steven Rostedt, Mathieu Desnoyers, Lai Jiangshan,
	linux-kernel, linux-btrfs
  Cc: Omar Sandoval

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.

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] <asn:4>*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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-01-10 21:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-09 20:35 [PATCH RESEND v8 0/3] Introduce RCU string API Omar Sandoval
2015-01-09 20:35 ` [PATCH RESEND v8 1/3] Move BTRFS RCU string to common library Omar Sandoval
2015-01-09 20:35 ` [PATCH RESEND v8 2/3] btrfs: refactor btrfs_device->name updates Omar Sandoval
2015-01-09 20:36 ` [PATCH RESEND v8 3/3] btrfs: fix suspicious RCU in BTRFS_IOC_DEV_INFO Omar Sandoval
2015-01-10 19:56 ` [PATCH RESEND v8 0/3] Introduce RCU string API Paul E. McKenney
2015-01-10 21:05   ` Omar Sandoval

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).