Re: [PATCH 5/5] quota: handle IO errors in dquot_transfer()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 15-12-09 01:43:18, Dmitry Monakhov wrote:
> Jan Kara <jack@xxxxxxx> writes:
> 
> > On Mon 14-12-09 15:21:16, Dmitry Monakhov wrote:
> >> transfer_to[cnt] = dqget() may returns NULL due to IO error.
> >> But NULL value in transfer_to[cnt] means a dquot transfer
> >> optimization. So after operation succeed inode will have new
> >> i_uid or i_gid but accounted to old dquot. This behaviour
> >> is differ from dquot_initialize(). Let's handle IO error from
> >> dqget() equally in all functions.
> >> 
> >> In appliance to dquot_transfer() this means that we have to finish
> >> operation regardless to IO errors from dqget().
> >   In principle, the patch is fine (see just about a bug below). But even
> > better would be if you converted dquot_transfer() to actually return real
> > return codes (0, -EDQUOT, -EIO...) and make it return EIO in case of IO
> Actually we have following set of errors (0, -EDQUOT, -EIO, -ENOMEM, -ENOSPC)
> And ENOSPC is more realistic than EIO or ENOMEM. But from other point of view
> quota is some sort of fs meta-data, so we can not let it just *silently* fail
> because of some error as it done at the moment.
  Exactly. That's why I'd like to get this cleaned up in the long run...

									Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux