[LTP] [PATCH v2 3/3] tst_fill_fs: Add alternate access pattern "flat"
Cyril Hrubis
chrubis@suse.cz
Mon Dec 12 17:16:13 CET 2022
Hi!
> > Depending on the workload, the way in which a file system is filled
> > will be different. The system calls will also be different.
>
> > This adds a fill mode which uses writev with uniform batches of
> > data. This simulates when the FS is filled by a program which batches
> > writes.
> ...
>
> FYI this broke CI on Alpine.
>
> > +++ b/lib/tst_fill_fs.c
> ...
> > +void fill_flat_vec(const char *path, int verbose)
> > +{
> > + int dir = SAFE_OPEN(path, O_PATH | O_DIRECTORY | O_FSYNC);
>
> Alpine has problem with O_FSYNC:
>
> In file included from ../include/tst_test.h:110,
> from tst_fill_fs.c:13:
> tst_fill_fs.c: In function 'fill_flat_vec':
> tst_fill_fs.c:76:58: error: 'O_FSYNC' undeclared (first use in this function); did you mean 'O_ASYNC'?
> 76 | int dir = SAFE_OPEN(path, O_PATH | O_DIRECTORY | O_FSYNC);
> | ^~~~~~~
> ../include/tst_safe_macros.h:90:58: note: in definition of macro 'SAFE_OPEN'
> 90 | safe_open(__FILE__, __LINE__, NULL, (pathname), (oflags), \
> | ^~~~~~
> tst_fill_fs.c:76:58: note: each undeclared identifier is reported only once for each function it appears in
> 76 | int dir = SAFE_OPEN(path, O_PATH | O_DIRECTORY | O_FSYNC);
> | ^~~~~~~
> ../include/tst_safe_macros.h:90:58: note: in definition of macro 'SAFE_OPEN'
> 90 | safe_open(__FILE__, __LINE__, NULL, (pathname), (oflags), \
> | ^~~~~~
> make: *** [../include/mk/rules.mk:15: tst_fill_fs.o] Error 1
>
> It actually does not have it in fcntl.h (and nowhere in the sources).
O_FSYNC originates from BSD it should be O_SYNC on Linux, but given that
this is only file descriptor passed to later openat() we can just remove
it instead since it does not make sense at all.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list