[LTP] [PATCH v2] open06.c: convert to new LTP API
Petr Vorel
[email protected]
Thu Aug 11 10:49:21 CEST 2022
Hi all,
> Hi Petr,
> On Thursday, July 14, 2022 6:48:48 PM IST Petr Vorel wrote:
> > Hi Avinesh,
> > > - if (mknod(fname, S_IFIFO | 0644, 0) == -1)
> > > - tst_brkm(TBROK, cleanup, "mknod FAILED");
> > > + SAFE_MKFIFO(TEMP_FIFO, 0644);
> > You changed test from mknod() to mkfifo(). May I know why?
> > It would be worth to mention the reason in the commit message.
> > Should not we keep mknod() ?
> > SAFE_MKNOD(TEMP_FIFO, S_IFIFO | 0644, 0);
> > According to man mknod(2) your change is correct:
> > POSIX.1-2001 says: "The only portable use of mknod() is to create
> > a FIFO-special file. If mode is not S_IFIFO or dev is not 0, the
> > behavior of mknod() is unspecified." However, nowadays one
> > should never use mknod() for this purpose; one should use
> > mkfifo(3), a function especially defined for this purpose.
> > Also note LTP tests should test even deprecated kernel API, we *might* want to
> > test both mkfifo() and mknod() via .test_variants. But I'd like to hear the
> > input of the others, because both glibc and musl use SYS_mknod or SYS_mknodat
> > for mkfifo() implementation with very thin wrapper, thus not sure if it's worth
> > to test also mknod().
> I changed to SAFE_MKFIFO as it seemed more intuitive in this open() test,
> but yes, I should have mentioned it in the commit message.
> I have not checked the mkfifo() implementation in libraries, so please
> lmk which one to proceed with here, I will send updated version if needed.
Thinking about it twice, given mknod() / mkfifo() are used in the setup it does
not look worth to run .test_variants just for this. So, unless anybody disagrees,
it's ok to keep SAFE_MKFIFO(). I'll wait little longer before merging it (with
note of changed function in the commit message).
Kind regards,
Petr
> > Kind regards,
> > Petr
> Thanks,
> Avinesh
More information about the ltp
mailing list