Sorry I put mailing list in "cc", but not "to"
Andreas
Thank you for pointing that out
at this moment "total" is READ_BUF_SIZE
```c
/* emacs/src/fileio.c:4613 */
/* In the following loop, HOW_MUCH contains the total bytes read so
far for a regular file, and not changed for a special file. But,
before exiting the loop, it is set to a negative value if I/O
error occurs. */
how_much = 0;
```
I have confirmed the file is not seekable on my side using, which is different from /proc files
```c
/* test.c:11 */
int fd = open("/proc/2051/arch_status", O_RDONLY);
int sek = lseek(fd, 0, SEEK_CUR);
printf("proc file is seekable %d\n", sek); // returns 0
fd = open("/run/test.json", O_RDONLY);
sek = lseek(fd, 0, SEEK_CUR);
printf("fuse file is seekable %d\n", sek); // returns -1
```
I think it hits this block. But I don't see anything special to increase the count. Could that mean emacs only reads "READ_BUF_SIZE" amount of data?
```c
/* emacs/src/fileio.c:4627 */
while (how_much < total)
{
/* `try' is reserved in some compilers (Microsoft C). */
ptrdiff_t trytry = min (total - how_much, READ_BUF_SIZE);
ptrdiff_t this;
if (!seekable && NILP (end))
```
Should the fix be quitting at actual io?