All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peng Haitao <penght@cn.fujitsu.com>
To: Garrett Cooper <yanegomi@gmail.com>
Cc: "ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] [PATCH v4] aio_read:8-1.c: Forget initializing struct aiocb before using it
Date: Fri, 16 Mar 2012 18:07:31 +0800	[thread overview]
Message-ID: <4F6310E3.2000403@cn.fujitsu.com> (raw)
In-Reply-To: <42CC829C-0CD7-4CDB-A713-80BE6DA95EC5@gmail.com>


Garrett Cooper said the following on 2012-3-16 17:48:
> On Mar 16, 2012, at 1:04 AM, Wanlong Gao <gaowanlong@cn.fujitsu.com> wrote:
> 
>> On 03/16/2012 03:58 PM, Peng Haitao wrote:
>>
>>> There are 2 changes in this patch.
>>> 1. Initialize the aiocb struct before using it.
>>> 2. If Prioritized Input and Output option is supported, submit the
>>>    aiocb with invalid aio_reqprio, else submit the aiocb with invalid
>>>    aio_fildes
>>>
>>> Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
>>
>>
>> Looks good to me , Cyril?
> 
> Why not always set fildes == -1 and test that way?
> 

When Prioritized Input and Output option is supported,and aio_fildes is
set -1, the aio_read() will success:( Only aiocb.aio_reqprio is set -1,
the aio_read() will fail.

When Prioritized Input and Output option is not supported,and aio_fildes
is set -1, the result of aio_read() is not tested. 
But I think it is wrong when aio_fildes is set -1.

-- 
Best Regards,
Peng

>>> .../conformance/interfaces/aio_read/8-1.c              |   14 ++++++++------
>>> .../conformance/interfaces/aio_write/6-1.c             |   16 +++++++++-------
>>> 2 files changed, 17 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/8-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/8-1.c
>>> index 8054eeb..009aeb2 100644
>>> --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/8-1.c
>>> +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/8-1.c
>>> @@ -14,7 +14,9 @@
>>>  *
>>>  * method:
>>>  *
>>> - *    - fill in an aiocb with a NULL aio_buf
>>> + *    - if Prioritized Input and Output option is supported, fill in an
>>> + *      aiocb with invalid aio_reqprio, else submit the aiocb with invalid
>>> + *      aio_fildes
>>>  *    - call aio_read
>>>  *    - check aio_read return value
>>>  */
>>> @@ -41,11 +43,11 @@ int main()
>>>    if (sysconf(_SC_ASYNCHRONOUS_IO) < 200112L)
>>>        return PTS_UNSUPPORTED;
>>>
>>> -    /* submit a request with a NULL buffer */
>>> -    aiocb.aio_fildes = 0;
>>> -    aiocb.aio_buf = NULL;
>>> -    aiocb.aio_nbytes = 0;
>>> -    aiocb.aio_offset = 0;
>>> +    memset(&aiocb, 0, sizeof(struct aiocb));
>>> +    if (sysconf(_SC_PRIORITIZED_IO) < 200112L)
>>> +        aiocb.aio_fildes = -1;
>>> +    else
>>> +        aiocb.aio_reqprio = -1;
>>>
>>>    if (aio_read(&aiocb) != -1) {
>>>        printf(TNAME " aio_read() should fail!\n");
>>> diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_write/6-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_write/6-1.c
>>> index 98b8d0d..9234fe6 100644
>>> --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_write/6-1.c
>>> +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_write/6-1.c
>>> @@ -14,7 +14,9 @@
>>>  *
>>>  * method:
>>>  *
>>> - *    - fill in an aiocb with a NULL aio_buf
>>> + *    - if Prioritized Input and Output option is supported, fill in an
>>> + *      aiocb with invalid aio_reqprio, else submit the aiocb with invalid
>>> + *      aio_fildes
>>>  *    - call aio_write
>>>  *    - check aio_write return value
>>>  *
>>> @@ -42,11 +44,11 @@ int main()
>>>    if (sysconf(_SC_ASYNCHRONOUS_IO) < 200112L)
>>>        return PTS_UNSUPPORTED;
>>>
>>> -    /* submit a request with a NULL buffer */
>>> -    aiocb.aio_fildes = 0;
>>> -    aiocb.aio_buf = NULL;
>>> -    aiocb.aio_nbytes = 0;
>>> -    aiocb.aio_offset = 0;
>>> +    memset(&aiocb, 0, sizeof(struct aiocb));
>>> +    if (sysconf(_SC_PRIORITIZED_IO) < 200112L)
>>> +        aiocb.aio_fildes = -1;
>>> +    else
>>> +        aiocb.aio_reqprio = -1;
>>>
>>>    if (aio_write(&aiocb) != -1)
>>>    {
>>> @@ -62,4 +64,4 @@ int main()
>>>
>>>    printf ("Test PASSED\n");
>>>    return PTS_PASS;
>>> -}
>>> \ No newline at end of file
>>> +}
>>
>>
>>
>> ------------------------------------------------------------------------------
>> This SF email is sponsosred by:
>> Try Windows Azure free for 90 days Click Here 
>> http://p.sf.net/sfu/sfd2d-msazure
>> _______________________________________________
>> Ltp-list mailing list
>> Ltp-list@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ltp-list
> 
> 


------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2012-03-16 10:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4F62A9E1.2040502@cn.fujitsu.com>
     [not found] ` <1331884731-11231-1-git-send-email-penght@cn.fujitsu.com>
     [not found]   ` <4F62F3F8.5080707@cn.fujitsu.com>
2012-03-16  9:48     ` [LTP] [PATCH v4] aio_read:8-1.c: Forget initializing struct aiocb before using it Garrett Cooper
2012-03-16 10:07       ` Peng Haitao [this message]
2012-03-21  8:43         ` [LTP] [PATCH v5] " Peng Haitao
2012-03-21  8:45           ` Wanlong Gao
2012-03-22 13:07           ` Wanlong Gao

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=4F6310E3.2000403@cn.fujitsu.com \
    --to=penght@cn.fujitsu.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=yanegomi@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.