* added coffee_files to the protected memory needed during cfs-based checkpointing operations

* renamed cfs_coffee_get_fd_set() to cfs_coffee_get_protected_memory() to highlight that not only fd_set is protected
This commit is contained in:
fros4943 2009-02-09 10:08:26 +00:00
parent 9b23d1553e
commit 4f7f3c97b5
2 changed files with 16 additions and 12 deletions

View file

@ -131,8 +131,12 @@ struct log_param {
uint16_t size; uint16_t size;
}; };
static struct file coffee_files[COFFEE_MAX_OPEN_FILES]; static struct protected_mem_t {
static struct file_desc coffee_fd_set[COFFEE_FD_SET_SIZE]; struct file coffee_files[COFFEE_MAX_OPEN_FILES];
struct file_desc coffee_fd_set[COFFEE_FD_SET_SIZE];
} protected_mem;
static struct file *coffee_files = protected_mem.coffee_files;
static struct file_desc *coffee_fd_set = protected_mem.coffee_fd_set;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
static void static void
@ -1181,8 +1185,8 @@ cfs_coffee_format(void)
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
void * void *
cfs_coffee_get_fd_set(unsigned *size) cfs_coffee_get_protected_mem(unsigned *size)
{ {
*size = sizeof(coffee_fd_set); *size = sizeof(protected_mem);
return &coffee_fd_set; return &protected_mem;
} }

View file

@ -86,16 +86,16 @@ int cfs_coffee_configure_log(const char *file, unsigned log_size,
int cfs_coffee_format(void); int cfs_coffee_format(void);
/** /**
* \brief Gives information about the file descriptor area in Coffee. * \brief Gives information about memory that must not be altered during
* CFS-based checkpointing operations.
* \param size * \param size
* \return A pointer to the file descriptor set. * \return A pointer to the protected memory.
* *
* This function returns the file descriptor set and sets the size * This function returns the protected memory pointer and writes its size
* argument to the number of bytes that the set uses. Mainly used for * to the given parameter. Mainly used by sensornet checkpointing to protect
* sensornet checkpointing to protect the file descriptor while rolling * the coffee state during CFS-based checkpointing operations.
* back the state from a file.
*/ */
void *cfs_coffee_get_fd_set(unsigned *size); void *cfs_coffee_get_protected_mem(unsigned *size);
/** @} */ /** @} */