[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALYGNiMY7qubx0oLyO37yG8-ci683hZyrN9ZPNcZy3Spo0z=Qg@mail.gmail.com>
Date: Wed, 21 Jan 2015 12:06:32 +0300
From: Konstantin Khlebnikov <koct9i@...il.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Jens Axboe <axboe@...nel.dk>, linux-next@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Konstantin Khebnikov <khlebnikov@...dex-team.ru>,
Christoph Hellwig <hch@....de>
Subject: Re: linux-next: build failure after merge of the akpm-current tree
On Wed, Jan 21, 2015 at 11:39 AM, Konstantin Khlebnikov
<koct9i@...il.com> wrote:
> On Wed, Jan 21, 2015 at 10:29 AM, Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>> Hi Andrew,
>>
>> After merging the akpm-current tree, today's linux-next build (powerpc
>> ppc64_defconfig) failed like this:
>>
>> mm/page-writeback.c: In function 'account_page_cleared':
>> mm/page-writeback.c:2122:23: error: 'struct address_space' has no member named 'backing_dev_info'
>> dec_bdi_stat(mapping->backing_dev_info,
>> ^
>>
>> Caused by commit d475bc581640 ("page_writeback: cleanup mess around
>> cancel_dirty_page()") (hmm, that commit has no Signed-off-by from
>> Andrew?) interacting with commit b83ae6d42143 ("fs: remove
>> mapping->backing_dev_info") from the block tree.
>
> Andrew, please drop it. I'll rebase and send it again when the dust settles.
Also I've found potential race with mark_buffer_dirty() and I'm not sure if
everything right in remove_from_page_cache phase. Probably it's better to
make it bullet-proof and put the final account_page_cleaned under ->tree_lock.
>
>>
>> I have applied the following fix patch:
>>
>> From: Stephen Rothwell <sfr@...b.auug.org.au>
>> Date: Wed, 21 Jan 2015 18:23:41 +1100
>> Subject: [PATCH] fs: remove mapping->backing_dev_info fix
>>
>> Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
>> ---
>> mm/page-writeback.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
>> index a8397a6923be..ab922616e522 100644
>> --- a/mm/page-writeback.c
>> +++ b/mm/page-writeback.c
>> @@ -2119,7 +2119,7 @@ void account_page_cleared(struct page *page, struct address_space *mapping)
>> {
>> if (mapping_cap_account_dirty(mapping)) {
>> dec_zone_page_state(page, NR_FILE_DIRTY);
>> - dec_bdi_stat(mapping->backing_dev_info,
>> + dec_bdi_stat(inode_to_bdi(mapping->host),
>> BDI_RECLAIMABLE);
>> task_io_account_cancelled_write(PAGE_CACHE_SIZE);
>> }
>> --
>> 2.1.4
>>
>> --
>> Cheers,
>> Stephen Rothwell sfr@...b.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists