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.
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to