~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/drivers/md/kcopyd.h

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (C) 2001 Sistina Software
  3  *
  4  * This file is released under the GPL.
  5  *
  6  * Kcopyd provides a simple interface for copying an area of one
  7  * block-device to one or more other block-devices, with an asynchronous
  8  * completion notification.
  9  */
 10 
 11 #ifndef DM_KCOPYD_H
 12 #define DM_KCOPYD_H
 13 
 14 #include "dm-io.h"
 15 
 16 /* FIXME: make this configurable */
 17 #define KCOPYD_MAX_REGIONS 8
 18 
 19 #define KCOPYD_IGNORE_ERROR 1
 20 
 21 /*
 22  * To use kcopyd you must first create a kcopyd client object.
 23  */
 24 struct kcopyd_client;
 25 int kcopyd_client_create(unsigned int num_pages, struct kcopyd_client **result);
 26 void kcopyd_client_destroy(struct kcopyd_client *kc);
 27 
 28 /*
 29  * Submit a copy job to kcopyd.  This is built on top of the
 30  * previous three fns.
 31  *
 32  * read_err is a boolean,
 33  * write_err is a bitset, with 1 bit for each destination region
 34  */
 35 typedef void (*kcopyd_notify_fn)(int read_err,
 36                                  unsigned int write_err, void *context);
 37 
 38 int kcopyd_copy(struct kcopyd_client *kc, struct io_region *from,
 39                 unsigned int num_dests, struct io_region *dests,
 40                 unsigned int flags, kcopyd_notify_fn fn, void *context);
 41 
 42 #endif
 43 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.