From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [PATCH 0/6] RFC quota: Redesign IO error handling interface Date: Fri, 7 May 2010 18:38:25 +0200 Message-ID: <20100507163825.GD3700@quack.suse.cz> References: <1270749865-25441-1-git-send-email-dmonakhov@openvz.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, jack@suse.cz, hch@infradead.org, sandeen@redhat.com To: Dmitry Monakhov Return-path: Received: from cantor2.suse.de ([195.135.220.15]:55929 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750742Ab0EGQi3 (ORCPT ); Fri, 7 May 2010 12:38:29 -0400 Content-Disposition: inline In-Reply-To: <1270749865-25441-1-git-send-email-dmonakhov@openvz.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu 08-04-10 22:04:19, Dmitry Monakhov wrote: > This patchset is tended to provide interface for handling IO errors > from internal quota code. > Any error must being returned to fs-caller to signal about possible > quota inconsistency. I've done it in following way: > > 1) Handle low-level io errors from dqget() and it's callers > 2) Handle errors from dquot_initialize > This path catch most of IO error, but no all. > 3) Check what i_dquot was initialized in each low-level function. > There are two types of such functions > 3A) Charging functions (alloc_{space,inode}): Caller of such > function may easy handle an error and abort an operation. > 3B) nofail functions (claim_space,free_{space,inode}) > In most cases caller can not abort an operation even if > inode's quotas was semi-initialized, so I just skip this > functions for now. > I would like to know you ideas suggestions about this. > Note: Only ext4's part was basically tested for now, others was just > compile tested. Sorry for not replying earlier. I've glanced over the patch set and I have no major objections. I'll send you now the problems I've found and next week I will have a more detailed look. Honza -- Jan Kara SUSE Labs, CR