[PATCH v4] nvme/069: add a test for multipath cdev lifetime
Nilay Shroff
nilay at linux.ibm.com
Fri Jul 17 00:00:40 PDT 2026
On 7/16/26 10:06 PM, John Garry wrote:
> On 16/07/2026 16:16, Nilay Shroff wrote:
>>> + kill(getppid(), SIGUSR2);
>>> + count = 0;
>>> + for (;;) {
>>> + fd1 = open(argv[1], O_RDONLY);
>>> + usleep(500000);
>>> + if (fd1 < 0)
>>> + break;
>>
>> Does it make sense to check for errno set to ENODEV or ENOENT
>> before breaking out here?
>
> ehh, if the errno is not ENODEV or ENOENT, then how to handle? Would it to fail the test due to unexpected errno?
I think yes, something like below:
for (;;) {
fd1 = open(argv[1], O_RDONLY);
if (fd1 < 0) {
if (errno == EINTR)
continue;
if (errno == ENOENT || errno == ENODEV)
break;
perror("open");
return EINVAL;
}
close(fd1);
usleep(500000);
if (++count > 10) {
fprintf(stderr, "%s still present\n", argv[0]);
return EINVAL;
}
}
Thanks,
--Nilay
More information about the Linux-nvme
mailing list