diff mbox series

src/splice-test.c: use memalign instead of aligned_alloc

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

Commit Message

David Sterba Feb. 9, 2021, 3:57 p.m. UTC
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(-)

Comments

Darrick J. Wong Feb. 9, 2021, 4:32 p.m. UTC | #1
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
>
Zorro Lang Feb. 9, 2021, 5:36 p.m. UTC | #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 mbox series

Patch

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)