The number of needed blocks shall be measured with block size rather than PAGE_SIZE. Fixes: 047487c947e8 ("cachefiles: Implement the I/O routines") Signed-off-by: Jingbo Xu <jefflexu@xxxxxxxxxxxxxxxxx> --- fs/cachefiles/io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c index 175a25fcade8..09605891cf85 100644 --- a/fs/cachefiles/io.c +++ b/fs/cachefiles/io.c @@ -565,7 +565,7 @@ int __cachefiles_prepare_write(struct cachefiles_object *object, * space, we need to see if it's fully allocated. If it's not, we may * want to cull it. */ - if (cachefiles_has_space(cache, 0, *_len / PAGE_SIZE, + if (cachefiles_has_space(cache, 0, *_len >> cache->bshift, cachefiles_has_space_check) == 0) return 0; /* Enough space to simply overwrite the whole block */ @@ -597,7 +597,7 @@ int __cachefiles_prepare_write(struct cachefiles_object *object, return ret; check_space: - return cachefiles_has_space(cache, 0, *_len / PAGE_SIZE, + return cachefiles_has_space(cache, 0, *_len >> cache->bshift, cachefiles_has_space_for_write); } -- 2.19.1.6.gb485710b -- Linux-cachefs mailing list Linux-cachefs@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/linux-cachefs