在 2009-01-06二的 10:39 +0100,Jan Kara写道: > On Tue 06-01-09 10:35:29, Jan Kara wrote: > > On Mon 05-01-09 20:40:55, Mingming Cao wrote: > > > ext4: quota reservation for delayed allocation > > > > > > Uses quota reservation/claim/release to handle quota properly for delayed > > > allocation in the three steps: 1) quotas are reserved when data being copied > > > to cache when block allocation is defered 2) when new blocks are allocated. > > > reserved quotas are converted to the real allocated quota, 2) over-booked > > > quotas for metadata blocks are released back. > > > > > > Signed-off-by: Mingming Cao > > The patch looks fine as far as I can tell :). But I'm not to familiar > > with the code so I won't add my Acked-by... > On a second thought: > > > > +unsigned long long ext4_get_reserved_space(struct inode *inode) > > > +{ > > > + unsigned long long total; > > > + > > > + spin_lock(&EXT4_I(inode)->i_block_reservation_lock); > > > + total = EXT4_I(inode)->i_reserved_data_blocks + > > > + EXT4_I(inode)->i_reserved_meta_blocks; > > > + spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); > > > + > > > + return total; > > > +} > Shouldn't we return here (total << inode->i_blksize)? Quota expects > bytes as output... > This is updated ext4 part to return number of bytes reserved as output. Thanks, Mingming