From: Randi Botse <nightdecoder@gmail.com>
To: linux-c-programming@vger.kernel.org
Subject: Fwd: Problem with scatter/gather IO
Date: Thu, 14 Jul 2011 13:33:40 +0700 [thread overview]
Message-ID: <CAA6iF_6Uamo_qFD=X3H1urO+1J3hM2A5Kri5o8652=Znq2Y6Ew@mail.gmail.com> (raw)
In-Reply-To: <CAA6iF_6CUa6ECMvnh9YehmxWYJzj23FEHZ4RJ5PtP-WdrrTr_A@mail.gmail.com>
Ahh,, you are right Leon, each iov member need to be initialized
first, my bad. Everything is OK now. I also use sysconf(_SC_IOV_MAX)
to determine maximum iovs count.
Thanks,
On Wed, Jul 13, 2011 at 7:16 PM, Leon Romanovsky <leon@leon.nu> wrote:
> On Wed, Jul 13, 2011 at 14:54, Randi Botse <nightdecoder@gmail.com> wrote:
>>
>> Hi,
>>
>> I will read/write file with readv() and writev(), I have problem to
>> use that since the struct iovec will be a variable-length array, if i
>> have code.
>>
>> struct foo {
>> unsigned char data[100];
>> unsigned char another_data[28];
>> };
>> unsigned len;
>> ....
>>
>> /* calculate len */
>> /* use len as array's member size */
>> struct iovec iov[len];
>> printf("len is: %i\n", len);
>> readv(fd, iov, len);
>>
>> I got: BAD ADDRESS, and if I remove the printf() then I will get
>> INVALID ARGUMENT. What the possible problem with that?
>>
>> Thanks,
>> --
>
> Did you try "man readv" ?
> You didn't initialized iovec struct.
> http://pubs.opengroup.org/onlinepubs/009695399/functions/readv.html
>
> --
> Leon Romanovsky | Independent Linux Consultant
> www.leon.nu | leon@leon.nu
>
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2011-07-14 6:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-13 11:54 Problem with scatter/gather IO Randi Botse
2011-07-13 12:16 ` Leon Romanovsky
[not found] ` <CAA6iF_6CUa6ECMvnh9YehmxWYJzj23FEHZ4RJ5PtP-WdrrTr_A@mail.gmail.com>
2011-07-14 6:33 ` Randi Botse [this message]
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='CAA6iF_6Uamo_qFD=X3H1urO+1J3hM2A5Kri5o8652=Znq2Y6Ew@mail.gmail.com' \
--to=nightdecoder@gmail.com \
--cc=linux-c-programming@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).