Messages in this thread | | | From | David Howells <> | Subject | Re: linux-next: Tree for Apr 13 | Date | Mon, 17 Apr 2023 15:06:47 +0100 |
| |
David Howells <dhowells@redhat.com> wrote:
> The problem might be summed up by the following snippet: > > openat(AT_FDCWD, "/dev/loop0", O_RDONLY) = 3 > newfstatat(3, "", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x7, 0), ...}, AT_EMPTY_PATH) = 0 > splice(3, NULL, 1, NULL, 1048576, 0) = 0
Ah. In filemap_splice_read():
do { cond_resched();
if (*ppos >= i_size_read(file_inode(in))) break;
but i_size_read(file_inode(in)) for a blockdev returns 0, it would seem. What should I use instead?
David
| |