AIO Support and related package information??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello ALL ,

I am very curious about the AIO support in kernel. I
have downloaded the
recent kernel 2.6.13 and applied suparna's patches on
that but now i got stuck as
now there are two different packages are available.

1) libaio rpm

There are many rpm available such as
libaio-0.3.xxx-02.src rpm and many
more but at http://lse.sourceforge.net/io/aio.html
,Somebody has said to use
libaio-0.3.99 package ..

So can you please give me some guidelines on after
applying the patch how
to proceed further???

Is these packages are part of linux kernel
installation ????

Is this package implementation is really necessary and
if yes then what
are the packages we need to install.

And if any other resource is required then from where
i can get that
resource.

2) libposix API library of 
http://www.bullopensource.org/posix.

        How to use it???
        Is it any other way of implementing the AIO
Support or it is to
provide posix conformance to the kernel.

3) What is the relation between libposixaio pacakage
supported by bullsource.net and libaio pacakage
supported by redhat ....

4) I am able to built that libposix package without
libaio ??????

5) are these pacakages are supported for othewr
platforms such as arm and ppc ,I am not able to build
libposix for arm platform.Do Cross compiling is
supported ???



6) How to use these api in test program

  Can i use it as mentioned below ????

  Test1.c

  #include <aio.h>
  #include <errno.h>
  #include <stdio.h>
  #include <string.h>
  #include <unistd.h>

  #define BYTES 8

  int main( int argc, char *argv[] )
  {
      int i, r;
      int fildes;
      struct aiocb cb;
      char buff[BYTES];

      if ((fildes = open( "/etc/resolv.conf", O_RDONLY
)) < 0) {
          perror( "opening file" ); return 1;
      }

      cb.aio_fildes = fildes;
      cb.aio_offset = 0;
      cb.aio_buf = buff;
      cb.aio_nbytes = BYTES;
      cb.aio_reqprio = 0;
      cb.aio_sigevent.sigev_notify = SIGEV_NONE;

      errno = 0;
      r = aio_read( &cb );
      printf( "aio_read() ret: %i\terrno: %i\n", r,
errno );

      while (aio_error( &cb ) == EINPROGRESS) {
usleep( 10 ); }

      for (i = 0; i < BYTES; i++) { printf( "%c ",
buff[i] ); } printf(
"\n" );

      errno = 0;
      r = aio_return( &cb );
      printf( "aio_return() ret: %i\tBYTES: %i\terrno:
%i\n", r, BYTES,
errno );

      return 0;
}



Any other information, if u can provide then it will
be of great use ...


Thanks in advance ...

Vikas



		
__________________________________________________________ 
Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux