public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: xuyang2018.jy@fujitsu.com <xuyang2018.jy@fujitsu.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] ltp-aiodio/dio_append: fix dio_append()
Date: Thu, 3 Jun 2021 10:04:54 +0000	[thread overview]
Message-ID: <60B8A96C.8080503@fujitsu.com> (raw)
In-Reply-To: <20210603075715.23524-1-dongshijiang@inspur.com>

Hi dong
> When running the dio_append test in the ltp-aiodiio.part4 test item, there was a problem that the file could not be created, but the test result was PASS. To this end, the following operations have been added.
> 1. create the directory where the file is located.
Why need to create directory?
> 2. rewrite the dio_append API. Add relevant return values.
>
> Signed-off-by: dongshijiang<dongshijiang@inspur.com>
> ---
>   testcases/kernel/io/ltp-aiodio/dio_append.c | 26 +++++++++++++++------
>   1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/testcases/kernel/io/ltp-aiodio/dio_append.c b/testcases/kernel/io/ltp-aiodio/dio_append.c
> index 3f0ed29d5..500dfdc31 100644
> --- a/testcases/kernel/io/ltp-aiodio/dio_append.c
> +++ b/testcases/kernel/io/ltp-aiodio/dio_append.c
> @@ -75,7 +75,7 @@ int read_eof(char *filename)
>   	return 0;
>   }
>
> -void dio_append(char *filename)
> +int dio_append(char *filename)
>   {
>   	int fd;
>   	void *bufptr;
> @@ -86,14 +86,14 @@ void dio_append(char *filename)
>
>   	if (fd<  0) {
>   		perror("cannot create file");
> -		return;
> +		return 1;
>   	}
>
>   	TEST(posix_memalign(&bufptr, 4096, 64 * 1024));
>   	if (TEST_RETURN) {
>   		tst_resm(TBROK | TRERRNO, "cannot malloc aligned memory");
>   		close(fd);
> -		return;
> +		return 1;
>   	}
>
>   	memset(bufptr, 0, 64 * 1024);
> @@ -102,17 +102,29 @@ void dio_append(char *filename)
>   			fprintf(stderr, "write %d returned %d\n", i, w);
>   		}
>   	}
> +	return 0;
>   }
>
>   int main(void)
>   {
> -	char filename[PATH_MAX];
> +	char filename[PATH_MAX], filepath[PATH_MAX-5];
>   	int pid[NUM_CHILDREN];
>   	int num_children = 1;
>   	int i;
> +	int ret = -1;
>
> -	snprintf(filename, sizeof(filename), "%s/aiodio/file",
> +	snprintf(filepath, sizeof(filepath), "%s/aiodio",
>   		 getenv("TMP") ? getenv("TMP") : "/tmp");
> +
> +	if (access(filepath, F_OK) == -1) {
> +		char command[PATH_MAX + 10];
> +
> +		snprintf(command, sizeof(command), "mkdir -p %s", filepath);
> +		if (system(command) != 0)
> +			return 1;
just only call mkdir syscall instead of command.
> +	}
> +
> +	snprintf(filename, sizeof(filename), "%s/file", filepath);
>
>   	printf("Begin dio_append test...\n");
>
> @@ -134,10 +146,10 @@ int main(void)
>   	 * Parent appends to end of file using direct i/o
>   	 */
>
> -	dio_append(filename);
> +	ret = dio_append(filename);
>
>   	for (i = 0; i<  num_children; i++) {
>   		kill(pid[i], SIGTERM);
>   	}
> -	return 0;
> +	return ret;
>   }

  reply	other threads:[~2021-06-03 10:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-03  7:57 [LTP] [PATCH] ltp-aiodio/dio_append: fix dio_append() dongshijiang
2021-06-03 10:04 ` xuyang2018.jy [this message]
2021-06-03 10:27   ` [LTP] 答复: " James Dong =?unknown-8bit?b?6JGj5LiW5rGf?=
2021-06-04  1:44     ` xuyang2018.jy
2021-06-04  2:37       ` [LTP] 答复: " James Dong =?unknown-8bit?b?6JGj5LiW5rGf?=
2021-06-04  3:53         ` xuyang2018.jy
2021-06-04  6:19           ` [LTP] 答复: " James Dong =?unknown-8bit?b?6JGj5LiW5rGf?=
2021-06-04  6:50           ` [LTP] " Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=60B8A96C.8080503@fujitsu.com \
    --to=xuyang2018.jy@fujitsu.com \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox