All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	David Chinner <david@fromorbit.com>,
	linux-xfs@vger.kernel.org, Shiyang Ruan <ruansy.fnst@fujitsu.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the mm tree
Date: Fri, 8 Jul 2022 08:17:51 -0700	[thread overview]
Message-ID: <YshKnxb4VwXycPO8@magnolia> (raw)
In-Reply-To: <20220708194437.7eafe774@canb.auug.org.au>

On Fri, Jul 08, 2022 at 07:44:37PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the mm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> fs/xfs/xfs_notify_failure.c: In function 'xfs_dax_notify_ddev_failure':
> fs/xfs/xfs_notify_failure.c:126:44: error: passing argument 1 of 'xfs_alloc_read_agf' from incompatible pointer type [-Werror=incompatible-pointer-types]
>   126 |                 error = xfs_alloc_read_agf(mp, tp, agno, 0, &agf_bp);
>       |                                            ^~
>       |                                            |
>       |                                            struct xfs_mount *
> In file included from fs/xfs/xfs_notify_failure.c:12:
> fs/xfs/libxfs/xfs_alloc.h:173:42: note: expected 'struct xfs_perag *' but argument is of type 'struct xfs_mount *'
>   173 | int xfs_alloc_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags,
>       |                        ~~~~~~~~~~~~~~~~~~^~~
> fs/xfs/xfs_notify_failure.c:126:25: error: too many arguments to function 'xfs_alloc_read_agf'
>   126 |                 error = xfs_alloc_read_agf(mp, tp, agno, 0, &agf_bp);
>       |                         ^~~~~~~~~~~~~~~~~~
> In file included from fs/xfs/xfs_notify_failure.c:12:
> fs/xfs/libxfs/xfs_alloc.h:173:5: note: declared here
>   173 | int xfs_alloc_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags,
>       |     ^~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> 
> Caused by commit
> 
>   469a9c74c119 ("xfs: implement ->notify_failure() for XFS")
> 
> interacting with commit
> 
>   c4829aba9c8d ("xfs: pass perag to xfs_alloc_read_agf()")
> 
> from the xfs tree.
> 
> I have applied the following merge fix patch.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 8 Jul 2022 19:11:56 +1000
> Subject: [PATCH] fix up for "xfs: pass perag to xfs_alloc_read_agf()"
> 
> interacting with "xfs: implement ->notify_failure() for XFS"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  fs/xfs/xfs_notify_failure.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/xfs/xfs_notify_failure.c b/fs/xfs/xfs_notify_failure.c
> index aa8dc27c599c..f3c62c19475e 100644
> --- a/fs/xfs/xfs_notify_failure.c
> +++ b/fs/xfs/xfs_notify_failure.c
> @@ -18,6 +18,7 @@
>  #include "xfs_rmap_btree.h"
>  #include "xfs_rtalloc.h"
>  #include "xfs_trans.h"
> +#include "xfs_ag.h"
>  
>  #include <linux/mm.h>
>  #include <linux/dax.h>
> @@ -122,8 +123,10 @@ xfs_dax_notify_ddev_failure(
>  		struct failure_info	notify;
>  		struct xfs_agf		*agf;
>  		xfs_agblock_t		agend;
> +		struct xfs_perag	*pag;
>  
> -		error = xfs_alloc_read_agf(mp, tp, agno, 0, &agf_bp);
> +		pag = xfs_perag_get(mp, agno);
> +		error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
>  		if (error)
>  			break;

This isn't quite correct -- references to xfs_perag objects must be
released once they are acquired.  The following patch against today's
tree fixes this problem:

diff --git a/fs/xfs/xfs_notify_failure.c b/fs/xfs/xfs_notify_failure.c
index f3c62c19475e..69d9c83ea4b2 100644
--- a/fs/xfs/xfs_notify_failure.c
+++ b/fs/xfs/xfs_notify_failure.c
@@ -127,10 +127,12 @@ xfs_dax_notify_ddev_failure(
 
 		pag = xfs_perag_get(mp, agno);
 		error = xfs_alloc_read_agf(pag, tp, 0, &agf_bp);
-		if (error)
+		if (error) {
+			xfs_perag_put(pag);
 			break;
+		}
 
-		cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, agf_bp->b_pag);
+		cur = xfs_rmapbt_init_cursor(mp, tp, agf_bp, pag);
 
 		/*
 		 * Set the rmap range from ri_low to ri_high, which represents
@@ -151,6 +153,7 @@ xfs_dax_notify_ddev_failure(
 				xfs_dax_failure_fn, &notify);
 		xfs_btree_del_cursor(cur, error);
 		xfs_trans_brelse(tp, agf_bp);
+		xfs_perag_put(pag);
 		if (error)
 			break;
 

--D

>  
> -- 
> 2.35.1
> 
> -- 
> Cheers,
> Stephen Rothwell



  reply	other threads:[~2022-07-08 15:17 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08  9:44 linux-next: build failure after merge of the mm tree Stephen Rothwell
2022-07-08 15:17 ` Darrick J. Wong [this message]
2022-07-10 22:28   ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2024-04-30  0:38 Stephen Rothwell
2024-04-30  2:23 ` Lance Yang
2024-04-23  0:22 Stephen Rothwell
2024-04-12  6:39 Stephen Rothwell
2024-04-11 23:14 Stephen Rothwell
2024-04-07 23:15 Stephen Rothwell
2024-04-08  1:44 ` Barry Song
2024-04-05  2:55 Stephen Rothwell
2024-03-28  4:34 Stephen Rothwell
2024-03-05  4:26 Stephen Rothwell
2024-03-05  6:39 ` Qi Zheng
2024-02-14  3:57 Stephen Rothwell
2024-02-14 15:19 ` Andrew Morton
2024-02-15  3:47   ` Stephen Rothwell
2024-02-07  6:17 Stephen Rothwell
2024-02-01  2:57 Stephen Rothwell
2024-02-01  8:35 ` Marco Elver
2024-01-25  3:29 Stephen Rothwell
2024-01-25 14:29 ` Baoquan He
2024-01-25 18:03   ` Stephen Rothwell
2024-01-24 23:23 Stephen Rothwell
2024-01-24 23:52 ` Suren Baghdasaryan
2024-01-25  2:40   ` Baoquan He
2024-01-23 23:05 Stephen Rothwell
2024-01-23 23:14 ` Suren Baghdasaryan
2023-12-21  7:38 Stephen Rothwell
2023-12-21  7:45 ` Changbin Du
2023-11-28 21:45 Stephen Rothwell
2023-11-28 22:45 ` Andrew Morton
2023-11-29  8:17   ` Dmitry Rokosov
2023-11-30 22:12     ` Stephen Rothwell
2023-11-27  3:44 Stephen Rothwell
2023-12-22  0:16 ` Stephen Rothwell
2023-12-22  6:26   ` Andrew Morton
2023-11-27  2:28 Stephen Rothwell
2023-11-27  3:48 ` Stephen Rothwell
2023-11-27  3:48   ` Stephen Rothwell
2023-11-30 22:04   ` Stephen Rothwell
2023-11-30 22:04     ` Stephen Rothwell
2023-11-30 22:32     ` Andrew Morton
2023-11-30 22:32       ` Andrew Morton
2023-11-30 22:39     ` Michael Ellerman
2023-11-30 22:39       ` Michael Ellerman
2023-11-30 22:52       ` Andrew Morton
2023-11-30 22:52         ` Andrew Morton
2023-12-01  3:12         ` Michael Ellerman
2023-12-01  3:12           ` Michael Ellerman
2023-12-07 12:38 ` Michael Ellerman
2023-10-03 22:50 Stephen Rothwell
2023-09-27 23:22 Stephen Rothwell
2023-09-28  6:47 ` Arnd Bergmann
2023-09-25 23:18 Stephen Rothwell
2023-08-22 22:52 Stephen Rothwell
2023-08-21 23:55 Stephen Rothwell
2023-08-22  1:11 ` Matthew Wilcox
2023-08-22  1:11   ` Matthew Wilcox
2023-08-22  1:22   ` Stephen Rothwell
2023-08-22  1:22     ` Stephen Rothwell
2023-08-22  1:34     ` Matthew Wilcox
2023-08-22  1:34       ` Matthew Wilcox
2023-08-22  4:00       ` Darrick J. Wong
2023-08-22  4:00         ` Darrick J. Wong
2023-08-22 20:20         ` Matthew Wilcox
2023-08-22 20:20           ` Matthew Wilcox
2023-08-22  7:12   ` Michael Ellerman
2023-08-22  7:12     ` Michael Ellerman
2023-08-08  4:40 Stephen Rothwell
2023-08-08 15:20 ` Eric DeVolder
2023-08-11 17:16 ` Eric DeVolder
2023-07-26  5:14 Stephen Rothwell
2023-07-26 13:22 ` Kuan-Ying Lee (李冠穎)
2023-07-26  4:53 Stephen Rothwell
2023-07-26  5:22 ` Aneesh Kumar K.V
2023-07-26  6:51   ` Stephen Rothwell
2023-07-19  4:32 Stephen Rothwell
2023-07-19  5:55 ` Alistair Popple
2023-07-18  0:02 Stephen Rothwell
2023-07-18 13:43 ` Andy Shevchenko
2023-07-18 17:34   ` Andrew Morton
2023-07-18 21:07     ` Andy Shevchenko
2023-07-17 23:40 Stephen Rothwell
2023-07-04  2:23 Stephen Rothwell
2023-07-04  2:32 ` Linus Torvalds
2023-07-04  5:51   ` Suren Baghdasaryan
2023-06-13  6:21 Stephen Rothwell
2023-06-13  6:21 ` Stephen Rothwell
2023-06-13 15:58 ` Catalin Marinas
2023-06-13 15:58   ` Catalin Marinas
2023-05-19  2:43 Stephen Rothwell
2023-05-19  8:19 ` Arnd Bergmann
2023-05-17 23:59 Stephen Rothwell
2023-03-06  2:54 Stephen Rothwell
2023-03-06  3:13 ` Andrew Morton
2023-03-06  0:52 Stephen Rothwell
2023-03-06 21:58 ` Stephen Rothwell
2023-02-07  4:37 Stephen Rothwell
2023-02-07 12:17 ` Jason Gunthorpe
2023-02-08  2:41   ` Stephen Rothwell
2023-02-07 14:25 ` David Howells
2023-01-30  5:14 Stephen Rothwell
2023-01-30  8:09 ` Christian Brauner
2023-02-26 22:18   ` Stephen Rothwell
2023-02-27 10:36     ` Christian Brauner
2023-01-27  6:36 Stephen Rothwell
2023-01-27  6:16 Stephen Rothwell
2023-01-27  6:16 ` Stephen Rothwell
2023-01-27  5:59 Stephen Rothwell
2023-01-27 13:11 ` Jan Kara
2023-01-31 21:47   ` Stephen Rothwell
2023-02-24  4:40     ` Stephen Rothwell
2023-02-24  6:01       ` Linus Torvalds
2023-02-24 20:36         ` Stephen Rothwell
2023-01-25  3:05 Stephen Rothwell
2022-12-16  1:26 Stephen Rothwell
2022-12-16  3:04 ` Andrew Morton
2022-12-16  0:21 Stephen Rothwell
2022-12-16  0:35 ` Andrew Morton
2022-12-16  1:03   ` Masami Hiramatsu
2022-11-22  6:53 Stephen Rothwell
2022-11-22 10:31 ` David Hildenbrand
2022-11-03  5:02 Stephen Rothwell
2022-11-02  3:55 Stephen Rothwell
2022-11-02 21:26 ` Andrew Morton
2022-10-18  1:24 Stephen Rothwell
2022-09-23  8:12 Stephen Rothwell
2022-09-23  8:15 ` David Hildenbrand
2022-09-23  7:55 Stephen Rothwell
2022-09-23  9:50 ` Michael Walle
2022-09-23 11:01   ` Naoya Horiguchi
2022-09-15  7:07 Stephen Rothwell
2022-09-15 16:37 ` Mike Kravetz
2022-09-15 20:06   ` Andrew Morton
2022-09-06 11:03 Stephen Rothwell
2022-09-06 12:05 ` Rob Clark
2022-09-06 18:05   ` Stephen Rothwell
2022-08-26  7:10 Stephen Rothwell
2022-08-26  7:32 ` Michal Hocko
2022-05-12  9:38 Stephen Rothwell
2022-05-12 10:13 ` Baolin Wang
2022-05-12 11:07 ` Catalin Marinas
2022-05-12 11:13   ` Baolin Wang
2022-05-12 13:28     ` Catalin Marinas
2022-05-12 19:10       ` Andrew Morton
2022-05-13  7:18   ` Stephen Rothwell
2022-05-11  8:15 Stephen Rothwell
2022-05-11  8:27 ` Baolin Wang
2022-05-11  8:42 ` Baolin Wang
2022-05-11 23:28   ` Stephen Rothwell
2022-05-10 11:25 Stephen Rothwell
2022-05-05 21:37 Stephen Rothwell
2022-05-02 10:49 Stephen Rothwell
2022-05-02 11:19 ` Matthew Wilcox
2022-05-03  6:45   ` Stephen Rothwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YshKnxb4VwXycPO8@magnolia \
    --to=djwong@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=david@fromorbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=ruansy.fnst@fujitsu.com \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.