Lines Matching defs:cow
45 #include "cow.h"
141 struct cow {
156 * backing or the cow file. */
166 struct cow cow;
191 .cow = DEFAULT_COW, \
378 *error_out = "Can't specify both 'd' and a cow file";
388 ubd_dev->cow.file = backing_file;
572 if (ubd_dev->file && ubd_dev->cow.file) {
573 file = ubd_dev->cow.file;
641 static int path_requires_switch(char *from_cmdline, char *from_cow, char *cow)
668 from_cmdline, from_cow, cow);
780 if(ubd_dev->cow.file == NULL)
783 os_close_file(ubd_dev->cow.fd);
784 vfree(ubd_dev->cow.bitmap);
785 ubd_dev->cow.bitmap = NULL;
797 create_ptr = (ubd_dev->cow.file != NULL) ? &create_cow : NULL;
798 back_ptr = ubd_dev->no_cow ? NULL : &ubd_dev->cow.file;
801 back_ptr, &ubd_dev->cow.bitmap_offset,
802 &ubd_dev->cow.bitmap_len, &ubd_dev->cow.data_offset,
806 fd = create_cow_file(ubd_dev->file, ubd_dev->cow.file,
808 &ubd_dev->cow.bitmap_offset,
809 &ubd_dev->cow.bitmap_len,
810 &ubd_dev->cow.data_offset);
813 "\"%s\"\n", ubd_dev->file, ubd_dev->cow.file);
824 if(ubd_dev->cow.file != NULL){
828 ubd_dev->cow.bitmap = vmalloc(ubd_dev->cow.bitmap_len);
829 if(ubd_dev->cow.bitmap == NULL){
835 err = read_cow_bitmap(ubd_dev->fd, ubd_dev->cow.bitmap,
836 ubd_dev->cow.bitmap_offset,
837 ubd_dev->cow.bitmap_len);
843 err = open_ubd_file(ubd_dev->cow.file, &flags, ubd_dev->shared, NULL,
846 ubd_dev->cow.fd = err;
1038 if(ubd_dev->cow.file != NULL){
1040 CONFIG_CHUNK(str, size, len, ubd_dev->cow.file, 1);
1341 if (dev->cow.file) {
1344 dev->cow.bitmap, dev->cow.bitmap_offset,
1345 dev->cow.bitmap_len);
1365 if (dev->cow.file)
1366 io_req->fds[0] = dev->cow.fd;
1374 io_req->offsets[1] = dev->cow.data_offset;
1545 /* fds[0] is always either the rw image or our cow file */