From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Monakhov Subject: Re: [PATCH] quota: sb_quota state flags cleanup Date: Tue, 02 Feb 2010 19:07:55 +0300 Message-ID: <87hbpzk4dg.fsf@openvz.org> References: <1265119669-2557-1-git-send-email-dmonakhov@openvz.org> <20100202154050.GG7056@quack.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org To: Jan Kara Return-path: Received: from mailhub.sw.ru ([195.214.232.25]:21827 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754546Ab0BBQIH (ORCPT ); Tue, 2 Feb 2010 11:08:07 -0500 In-Reply-To: <20100202154050.GG7056@quack.suse.cz> (Jan Kara's message of "Tue, 2 Feb 2010 16:40:50 +0100") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Jan Kara writes: > On Tue 02-02-10 17:07:49, Dmitry Monakhov wrote: >> - remove hardcoded USRQUOTA/GRPQUOTA flags >> - convert int to bool for appropriate functions >> >> Signed-off-by: Dmitry Monakhov >> --- > ... >> -static inline int sb_any_quota_suspended(struct super_block *sb) >> +static inline unsigned sb_any_quota_suspended(struct super_block *sb) >> { >> - return sb_has_quota_suspended(sb, USRQUOTA) || >> - sb_has_quota_suspended(sb, GRPQUOTA); >> + unsigned type, tmsk = 0; >> + for (type = 0; type < MAXQUOTAS; type++) >> + tmsk |= sb_has_quota_suspended(sb, type) << type; >> + return tmsk; >> } > Any particular reason for returning the mask instead of a simple bool? > Are you going to use the mask in future? > Actually i've not use this yet, but it is reasonable to pass this mask in some places for example: vfs_dq_init() { mask = sb_any_quota_active(inode->sb) dq_op->initialize(inode, mask) } in order to avoid checks for the same value inside ->initialize() >> -static inline int sb_any_quota_loaded(struct super_block *sb) >> +static inline unsigned sb_any_quota_loaded(struct super_block *sb) >> { >> - return sb_has_quota_loaded(sb, USRQUOTA) || >> - sb_has_quota_loaded(sb, GRPQUOTA); >> + unsigned type, tmsk = 0; >> + for (type = 0; type < MAXQUOTAS; type++) >> + tmsk |= sb_has_quota_loaded(sb, type) << type; >> + return tmsk; >> } > And here as well... > >> -static inline int sb_any_quota_active(struct super_block *sb) >> +static inline unsigned sb_any_quota_active(struct super_block *sb) >> { >> - return sb_has_quota_active(sb, USRQUOTA) || >> - sb_has_quota_active(sb, GRPQUOTA); >> + return sb_any_quota_loaded(sb); >> } Opps, will redo. > This is wrong - quota is active if it is loaded and is not suspended... > > Honza