It was fixed by Wei Yongjun http://marc.info/?l=linux-btrfs&m=136910396606489&w=2
Thanks Miao On tue, 18 Jun 2013 22:57:41 +0100, Djalal Harouni wrote: > btrfs_check_trunc_cache_free_space() tries to check if there is enough > space for cache inode truncation but it fails. > > Currently this function always returns success even if there is no > enough space. Fix this by returning the -ENOSPC error code. > > Signed-off-by: Djalal Harouni <tix...@opendz.org> > --- > Totally untested code. > > fs/btrfs/free-space-cache.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > index 2750b50..9629830 100644 > --- a/fs/btrfs/free-space-cache.c > +++ b/fs/btrfs/free-space-cache.c > @@ -201,7 +201,7 @@ int btrfs_check_trunc_cache_free_space(struct btrfs_root > *root, > struct btrfs_block_rsv *rsv) > { > u64 needed_bytes; > - int ret; > + int ret = 0; > > /* 1 for slack space, 1 for updating the inode */ > needed_bytes = btrfs_calc_trunc_metadata_size(root, 1) + > @@ -210,10 +210,10 @@ int btrfs_check_trunc_cache_free_space(struct > btrfs_root *root, > spin_lock(&rsv->lock); > if (rsv->reserved < needed_bytes) > ret = -ENOSPC; > - else > - ret = 0; > + > spin_unlock(&rsv->lock); > - return 0; > + > + return ret; > } > > int btrfs_truncate_free_space_cache(struct btrfs_root *root, > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html