⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kcopyd.txt

📁 linux 内核源代码
💻 TXT
字号:
kcopyd======Kcopyd provides the ability to copy a range of sectors from one block-deviceto one or more other block-devices, with an asynchronous completionnotification. It is used by dm-snapshot and dm-mirror.Users of kcopyd must first create a client and indicate how many memory pagesto set aside for their copy jobs. This is done with a call tokcopyd_client_create().   int kcopyd_client_create(unsigned int num_pages,                            struct kcopyd_client **result);To start a copy job, the user must set up io_region structures to describethe source and destinations of the copy. Each io_region indicates ablock-device along with the starting sector and size of the region. The sourceof the copy is given as one io_region structure, and the destinations of thecopy are given as an array of io_region structures.   struct io_region {      struct block_device *bdev;      sector_t sector;      sector_t count;   };To start the copy, the user calls kcopyd_copy(), passing in the clientpointer, pointers to the source and destination io_regions, the name of acompletion callback routine, and a pointer to some context data for the copy.   int kcopyd_copy(struct kcopyd_client *kc, struct io_region *from,                   unsigned int num_dests, struct io_region *dests,                   unsigned int flags, kcopyd_notify_fn fn, void *context);   typedef void (*kcopyd_notify_fn)(int read_err, unsigned int write_err,				    void *context);When the copy completes, kcopyd will call the user's completion routine,passing back the user's context pointer. It will also indicate if a read orwrite error occurred during the copy.When a user is done with all their copy jobs, they should callkcopyd_client_destroy() to delete the kcopyd client, which will release theassociated memory pages.   void kcopyd_client_destroy(struct kcopyd_client *kc);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -