cachefiles: Fix signed/unsigned mixup
[linux-2.6-microblaze.git] / fs / cachefiles / io.c
index 3eec269..9a2cb28 100644 (file)
@@ -522,7 +522,7 @@ int __cachefiles_prepare_write(struct cachefiles_object *object,
                               bool no_space_allocated_yet)
 {
        struct cachefiles_cache *cache = object->volume->cache;
-       unsigned long long start = *_start, pos;
+       loff_t start = *_start, pos;
        size_t len = *_len;
        int ret;
 
@@ -556,7 +556,7 @@ int __cachefiles_prepare_write(struct cachefiles_object *object,
                                          cachefiles_trace_seek_error);
                return pos;
        }
-       if (pos >= start + *_len)
+       if ((u64)pos >= (u64)start + *_len)
                goto check_space; /* Unallocated region */
 
        /* We have a block that's at least partially filled - if we're low on
@@ -575,7 +575,7 @@ int __cachefiles_prepare_write(struct cachefiles_object *object,
                                          cachefiles_trace_seek_error);
                return pos;
        }
-       if (pos >= start + *_len)
+       if ((u64)pos >= (u64)start + *_len)
                return 0; /* Fully allocated */
 
        /* Partially allocated, but insufficient space: cull. */