In a recent commit, I inadvertently changed a comparison from being an unsigned comparison (on 64-bit systems) to being a signed comparison (which it had always been on 32-bit systems). This led to a sporadic fstests failure. To make sure this comparison is always unsigned, introduce a new type, uoff_t which is the unsigned version of loff_t. Generally file sizes are restricted to being a signed integer, but in these two places it is convenient to pass -1 to indicate "up to the end of the file".
Showing the changes to include/uapi (1 of 6 files). Show all
Unified · Split
| @@ -86,6 +86,7 @@ typedef struct { · 85 unmodified lines | ||
| 86 | 86 | */ |
| 87 | 87 | typedef __kernel_long_t __kernel_off_t; |
| 88 | 88 | typedef long long __kernel_loff_t; |
| 89 | +typedef unsigned long long __kernel_uoff_t; | |
| 89 | 90 | typedef __kernel_long_t __kernel_old_time_t; |
| 90 | 91 | #ifndef __KERNEL__ |
| 91 | 92 | typedef __kernel_long_t __kernel_time_t; |