From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boaz Harrosh Subject: Re: [RFC] vfs/inode: For none-block-based filesystems default to sb->s_bdi Date: Tue, 05 Oct 2010 11:29:55 -0400 Message-ID: <4CAB4473.1070408@panasas.com> References: <4CAA4B1D.1010904@panasas.com> <4CAA4EE5.2070308@panasas.com> <20101005083208.GA3514@quack.suse.cz> <4CAB2DE5.90801@panasas.com> <20101005150913.GB14516@quack.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Christoph Hellwig , Al Viro , linux-fsdevel , Trond Myklebust , Benny Halevy To: Jan Kara Return-path: Received: from daytona.panasas.com ([67.152.220.89]:22451 "EHLO daytona.int.panasas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753993Ab0JEPaC (ORCPT ); Tue, 5 Oct 2010 11:30:02 -0400 In-Reply-To: <20101005150913.GB14516@quack.suse.cz> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 10/05/2010 11:09 AM, Jan Kara wrote: > On Tue 05-10-10 09:53:41, Boaz Harrosh wrote: >> On 10/05/2010 04:32 AM, Jan Kara wrote: >>> Hi Boaz, >>> >>> On Mon 04-10-10 18:02:13, Boaz Harrosh wrote: >>>> Sorry I've just seen Jan's patch: >>>> From: Jan Kara >>>> Date: Mon, 27 Sep 2010 23:56:48 +0200 >>>> Subject: [PATCH] bdi: Initialize inode->i_mapping.backing_dev_info to sb->s_bdi >>> ... >>>> That works for me as well. Was it decided how to solve this? Other wise >>>> I'll need to patch exofs, ASAP for this -rc >>> In the end, we'll use Christoph's patch >>> (http://lkml.org/lkml/2010/9/29/76) changing inode_to_bdi() to be >>> more conservative and also the warning will be gone. So you don't have to >>> patch anything... >>> >> I would still like to fix it. Currently each inode->mapping.backing_dev_info in my >> none-block-filesystem is set to &default_backing_dev_info. This sounds scary! >> what about the future patches that will schedule a wakup on set_inode_dirty ? >> Will they not need my proper sb->s_bdi on each ->mapping? > Yes, but Christoph is working on separating the bdi handling from > handling of writeback (pointed from superblock) and that should solve this > problem as well. > If you are right and inode->i_mapping.backing_dev_info will only be used for bdev inodes, then I prefer if it would be NULL by default and not pointing to &default_backing_dev_info. Will that be fixed as well? diff --git a/fs/inode.c b/fs/inode.c index 8646433..0ec4c47 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -168,7 +168,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) mapping->flags = 0; mapping_set_gfp_mask(mapping, GFP_HIGHUSER_MOVABLE); mapping->assoc_mapping = NULL; - mapping->backing_dev_info = &default_backing_dev_info; + mapping->backing_dev_info = NULL; mapping->writeback_index = 0; /* Current code in inode_init_always() looks really ugly with that if(sb->s_bdev) ... surely you want to fix that too, No? > Honza Boaz