Message ID | 20210209155715.28804-1-dsterba@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | src/splice-test.c: use memalign instead of aligned_alloc | expand |
On Tue, Feb 09, 2021 at 04:57:15PM +0100, David Sterba wrote: > The build fails on SLE11 as the function aligned_alloc is not available > there. Replace it by memalign that has the same semantics and is > commonly used in fstests code base. aligned_alloc has additional > requirements on the alignment and buffer size but that is ok as the > buffer is defined in multiples of the alignment. > > Signed-off-by: David Sterba <dsterba@suse.com> Looks reasonable to me, Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > src/splice-test.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/splice-test.c b/src/splice-test.c > index 11fb11fa8cc3..2f1ba2baaff0 100644 > --- a/src/splice-test.c > +++ b/src/splice-test.c > @@ -17,6 +17,7 @@ > #include <stdbool.h> > #include <string.h> > #include <errno.h> > +#include <malloc.h> > > #define SECTOR_SIZE 512 > #define BUFFER_SIZE (150 * SECTOR_SIZE) > @@ -143,9 +144,9 @@ int main(int argc, char *argv[]) > do_splice == do_splice1 ? "sequential" : "concurrent", > (open_flags & O_DIRECT) ? "with" : "without"); > > - buffer = aligned_alloc(SECTOR_SIZE, BUFFER_SIZE); > + buffer = memalign(SECTOR_SIZE, BUFFER_SIZE); > if (buffer == NULL) > - err(1, "aligned_alloc"); > + err(1, "memalign"); > > fd = open(filename, open_flags, 0666); > if (fd == -1) > -- > 2.29.2 >
On Tue, Feb 09, 2021 at 04:57:15PM +0100, David Sterba wrote: > The build fails on SLE11 as the function aligned_alloc is not available > there. Replace it by memalign that has the same semantics and is > commonly used in fstests code base. aligned_alloc has additional > requirements on the alignment and buffer size but that is ok as the > buffer is defined in multiples of the alignment. > > Signed-off-by: David Sterba <dsterba@suse.com> > --- The manpage said: aligned_alloc(): _ISOC11_SOURCE The functions memalign(), valloc(), and pvalloc() have been available in all Linux libc libraries. The function aligned_alloc() was added to glibc in version 2.16. So looks like aligned_alloc might not be supported on some old system. As the change of this patch won't change the original testing, so it's good to me. Reviewed-by: Zorro Lang <zlang@redhat.com> > src/splice-test.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/splice-test.c b/src/splice-test.c > index 11fb11fa8cc3..2f1ba2baaff0 100644 > --- a/src/splice-test.c > +++ b/src/splice-test.c > @@ -17,6 +17,7 @@ > #include <stdbool.h> > #include <string.h> > #include <errno.h> > +#include <malloc.h> > > #define SECTOR_SIZE 512 > #define BUFFER_SIZE (150 * SECTOR_SIZE) > @@ -143,9 +144,9 @@ int main(int argc, char *argv[]) > do_splice == do_splice1 ? "sequential" : "concurrent", > (open_flags & O_DIRECT) ? "with" : "without"); > > - buffer = aligned_alloc(SECTOR_SIZE, BUFFER_SIZE); > + buffer = memalign(SECTOR_SIZE, BUFFER_SIZE); > if (buffer == NULL) > - err(1, "aligned_alloc"); > + err(1, "memalign"); > > fd = open(filename, open_flags, 0666); > if (fd == -1) > -- > 2.29.2 >
diff --git a/src/splice-test.c b/src/splice-test.c index 11fb11fa8cc3..2f1ba2baaff0 100644 --- a/src/splice-test.c +++ b/src/splice-test.c @@ -17,6 +17,7 @@ #include <stdbool.h> #include <string.h> #include <errno.h> +#include <malloc.h> #define SECTOR_SIZE 512 #define BUFFER_SIZE (150 * SECTOR_SIZE) @@ -143,9 +144,9 @@ int main(int argc, char *argv[]) do_splice == do_splice1 ? "sequential" : "concurrent", (open_flags & O_DIRECT) ? "with" : "without"); - buffer = aligned_alloc(SECTOR_SIZE, BUFFER_SIZE); + buffer = memalign(SECTOR_SIZE, BUFFER_SIZE); if (buffer == NULL) - err(1, "aligned_alloc"); + err(1, "memalign"); fd = open(filename, open_flags, 0666); if (fd == -1)
The build fails on SLE11 as the function aligned_alloc is not available there. Replace it by memalign that has the same semantics and is commonly used in fstests code base. aligned_alloc has additional requirements on the alignment and buffer size but that is ok as the buffer is defined in multiples of the alignment. Signed-off-by: David Sterba <dsterba@suse.com> --- src/splice-test.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)