Re: linux-next: build failure after merge of the akpm-current tree

Konstantin Khlebnikov
2015-01-21T09:06:32Z

On Wed, Jan 21, 2015 at 11:39 AM, Konstantin Khlebnikov
<koct9i@gmail.com> wrote:
> On Wed, Jan 21, 2015 at 10:29 AM, Stephen Rothwell <sfr@canb.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@canb.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@canb.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@canb.auug.org.au