Introduce SIOCINQ ioctl support for vsock, indicating the length of unread bytes.
Similar with SIOCOUTQ ioctl, the information is transport-dependent. The first patch adds SIOCINQ ioctl support in AF_VSOCK. The second patch wraps the ioctl into `ioctl_int()`, which implements a retry mechanism to prevent immediate failure. The last one adds two test cases to check the functionality. The changes have been tested, and the results are as expected. Signed-off-by: Xuewei Niu <niuxuewei....@antgroup.com> -- v1->v2: https://lore.kernel.org/lkml/20250519070649.3063874-1-niuxuewei....@antgroup.com/ - Use net-next tree. - Reuse `rx_bytes` to count unread bytes. - Wrap ioctl syscall with an int pointer argument to implement a retry mechanism. v2->v3: https://lore.kernel.org/netdev/20250613031152.1076725-1-niuxuewei....@antgroup.com/ - Update commit messages following the guidelines - Remove `unread_bytes` callback and reuse `vsock_stream_has_data()` - Move the tests to the end of array - Split the refactoring patch - Include <sys/ioctl.h> in the util.c Xuewei Niu (3): vsock: Add support for SIOCINQ ioctl test/vsock: Add retry mechanism to ioctl wrapper test/vsock: Add ioctl SIOCINQ tests net/vmw_vsock/af_vsock.c | 22 +++++++++ tools/testing/vsock/util.c | 37 ++++++++++---- tools/testing/vsock/util.h | 1 + tools/testing/vsock/vsock_test.c | 82 ++++++++++++++++++++++++++++++++ 4 files changed, 133 insertions(+), 9 deletions(-) -- 2.34.1