[Sheepdog] Sheepdog inodes & volumes
Narendra Prasad Madanapalli
narendramind at gmail.com
Fri Nov 26 10:17:09 CET 2010
Hi,
I am trying to understand how sheepdog volumes are strored and what
data structures are used for storage.
Sheepdog inode is declared in include/sheepdog_proto.h
struct sheepdog_inode {
char name[SD_MAX_VDI_LEN];
char tag[SD_MAX_VDI_TAG_LEN];
uint64_t ctime;
uint64_t snap_ctime;
uint64_t vm_clock_nsec;
uint64_t vdi_size;
uint64_t vm_state_size;
uint16_t copy_policy;
uint8_t nr_copies;
uint8_t block_size_shift;
uint32_t snap_id;
uint32_t vdi_id;
uint32_t parent_vdi_id;
uint32_t child_vdi_id[MAX_CHILDREN];
uint32_t data_vdi_id[MAX_DATA_OBJS];
};
And the function create_vdi_obj() (in sheep/vdi.c) creates vdi object.
This function defines three static variables new, base, cur of type
'struct sheepdog_inode'
Can anyone point to me the documentation on the above structure and variables?
Where super object is stored and the other inodes are linked with super object?
I appreciate if you provide the information on the same.
Thanks,
Narendra.
More information about the sheepdog
mailing list