Example #1
0
kern_return_t
trivfs_S_file_sync (struct trivfs_protid *cred,
		    mach_port_t reply, mach_msg_type_name_t reply_type,
		    int wait, int omitmeta)
{
  return cred ? file_sync (cred->realnode, wait, omitmeta) : EOPNOTSUPP;
}
Example #2
0
void
file_close(file_handle_t * handle)
{
    file_sync(handle);
    --open_handles[handle->file_id];
    free(handle);
}
Example #3
0
File: sys.c Project: chobits/tinyos
int sys_fsync(int fd)
{
	struct file *file = fd_get_file(fd);
	if (!file)
		return -1;
	file_sync(file);
	put_file(file);
	return 0;
}
kern_return_t
trivfs_S_fsys_syncfs (struct trivfs_control *cntl,
		      mach_port_t reply,
		      mach_msg_type_name_t replytype,
		      int wait,
		      int dochildren)
{
  return cntl ? file_sync (cntl->underlying, wait, 0) : EOPNOTSUPP;
}
/* The function returns the number of bytes written to the file. */
int open_file_and_write_buffer(char *filename_and_path, const char *buffer, int buffer_size)
{
	struct file* input_file_ptr;
	int ret_val = 0;

    pr_info("SRUK ----------- %s -- %d", __FUNCTION__, __LINE__);
	input_file_ptr = file_open(filename_and_path, O_WRONLY, 0);
	if (input_file_ptr != NULL)
	{
		pr_info("SRUK ----------- %s -- %d -- %s -- %d", __FUNCTION__, __LINE__, buffer, buffer_size);
		ret_val = file_write(input_file_ptr, 0, (unsigned char *)buffer, buffer_size);
		file_sync(input_file_ptr);
		file_close(input_file_ptr);
	}

    pr_info("SRUK ----------- %s -- %d -- ret_val = %d ", __FUNCTION__, __LINE__ , ret_val);
	return ret_val;
}
Example #6
0
int main(int argc, char *argv[])
{
	char *src_filename = NULL;
	char *dest_filename = NULL;
	char chunk_filename[] = "./chunk_src";
	char delta_filename[] = "./delta_dest";
	int ret = 0, chunk_algo;

	if (argc < 4) {
		fprintf(stderr, "%s SOURCE DEST CHUNK_ALGO(0 = FSP | 1 = CDC | 2 = SBC)\n", argv[0]);
		exit(0);
	}

	src_filename = argv[1];
	dest_filename = argv[2];
	chunk_algo = atoi(argv[3]);

	ret = file_chunk(src_filename, chunk_filename, chunk_algo);
	if (ret == -1) {
		fprintf(stderr, "file chunk failed\n");
		exit(1);
	}

	ret = file_delta(dest_filename, chunk_filename, delta_filename, chunk_algo);
	if (ret == -1) {
		fprintf(stderr, "file delta failed\n");
		exit(0);
	}

	ret = file_sync(src_filename, delta_filename);
	if (ret == -1) {
		fprintf(stderr, "file sync failed\n");
		exit(0);
	}

	return 0;

}
Example #7
0
static int __init hello_init(void)
{
    int i, total, countUsedPage;
    struct page* curPage;

    char path[] = "./hash.bin";
    printk(KERN_INFO "Starting module. You have %lu pages to play with!\n", get_num_physpages());
    logFile = file_open(path, O_CREAT | O_WRONLY, S_IRWXU);
    curPage = pfn_to_page(node_data[0]->node_start_pfn);
    total = get_num_physpages();
    countUsedPage = 0;
    for(i=0; i<total; i++) {
        curPage = pfn_to_page(node_data[0]->node_start_pfn + i);
        if(page_count(curPage) > 0) {
            write_hash_to_file(countUsedPage, kmap(curPage));
            countUsedPage++;
        }
    }
    file_sync(logFile);
    file_close(logFile);
    printk(KERN_INFO "Save the world! countUsedPage:%d\n", countUsedPage);
    return 0;
}