3/3 doesn't seem to arrive anymore, possibly due to a mail size
restriction on vger (yes, it is big). So I pushed it out to:

git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne.git
root-eliminate

Thanks,
Arne

On 31.05.2011 12:16, Arne Jansen wrote:
> This series aims to clean up passing of struct btrfs_root and struct
> btrfs_fs_info. It first removes the root pointer from functions and macros
> where it's not needed, afterwards it passes fs_info instead of root to
> functions which only need root->fs_info.
> 
> It is based on 3.0-rc1.
> 
> These patches are based on the following two Coccinelle-scripts, but also
> involve some hand editing.
> 
> a) Remove root parameter where it's completely unneeded. Fix up callers.
> 
> @r@
> identifier fn != btrfs_inc_extent_ref;
> identifier root;
> parameter list[n] P;
> @@
> 
>   fn(P
> -    , struct btrfs_root *root
>    ,...)
>   {
>   ... when != root
>   }
> 
> @@
> identifier r.fn;
> expression list[r.n] E;
> identifier x;
> @@
> 
>   fn(E
> -    ,x
>    ,...)
> 
> b) Change root parameter to fs_info where only root->fs_info is needed. Fix up
>    callers.
> 
> @ s exists @
> identifier fn;
> identifier root, sf;
> identifier member != fs_info;
> position p;
> expression E;
> parameter list[n] P;
> @@
>  fn@p(P,struct btrfs_root *root,...)
>   {
>   ...
> (
>   root->member
> |
>   sf(...,root,...)
> |
>   (root && ...)
> |
>   (root == ...)
> |
>   E = root
> )
>   ... when any
>   }
> 
> @ t @
> identifier fn != {process_one_buffer,btrfs_inc_extent_ref,btrfs_free_extent};
> identifier root;
> parameter list[n] P;
> position p != s.p;
> @@
> 
>   fn@p(P,
> -    struct btrfs_root *root
> +    struct btrfs_fs_info *fs_info
>    ,...)
>   {
>   <...
> -  root->fs_info
> +  fs_info
>   ...>
>   }
> 
> @@
> identifier t.fn;
> expression list[t.n] E;
> expression x;
> @@
> 
>   fn(E,
> -    x
> +    x->fs_info
>    ,...)
> 
> @@
> function fn;
> identifier fs_info;
> identifier x;
> parameter list[n] P;
> @@
>   fn(P, struct btrfs_fs_info *fs_info, ... ) {
>   ...
> - struct btrfs_fs_info *x = fs_info;
>   <...
> -  x
> +  fs_info
>   ...>
>   }
> 
> 
> Thanks to Julia Lawall for helping to build the scripts.
> 
> 
> Arne Jansen (3):
>   btrfs: remove struct btrfs_root parameter where unused
>   btrfs: pass fs_info to btrfs_test_opt instead of root
>   btrfs: cleanup: pass fs_info instead of root where possible
> 
>  fs/btrfs/compression.c      |   11 +-
>  fs/btrfs/ctree.c            |   76 +++++----
>  fs/btrfs/ctree.h            |   66 ++++----
>  fs/btrfs/delayed-inode.c    |   43 +++---
>  fs/btrfs/disk-io.c          |  281 +++++++++++++++---------------
>  fs/btrfs/disk-io.h          |   24 ++--
>  fs/btrfs/extent-tree.c      |  409 
> ++++++++++++++++++++++---------------------
>  fs/btrfs/file-item.c        |    5 +-
>  fs/btrfs/file.c             |   16 +-
>  fs/btrfs/free-space-cache.c |   12 +-
>  fs/btrfs/free-space-cache.h |    2 +-
>  fs/btrfs/inode.c            |  108 ++++++------
>  fs/btrfs/ioctl.c            |   57 +++---
>  fs/btrfs/ordered-data.c     |   48 +++---
>  fs/btrfs/ordered-data.h     |    6 +-
>  fs/btrfs/print-tree.c       |    2 +-
>  fs/btrfs/relocation.c       |   40 +++--
>  fs/btrfs/scrub.c            |   68 +++-----
>  fs/btrfs/super.c            |   34 ++--
>  fs/btrfs/transaction.c      |  183 ++++++++++----------
>  fs/btrfs/transaction.h      |   12 +-
>  fs/btrfs/tree-defrag.c      |    2 +-
>  fs/btrfs/tree-log.c         |   40 +++--
>  fs/btrfs/volumes.c          |  246 +++++++++++++-------------
>  fs/btrfs/volumes.h          |   10 +-
>  25 files changed, 912 insertions(+), 889 deletions(-)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to