예제 #1
0
int dfs_uffs_flush(struct dfs_fd* fd)   
{
	uffs_Object* fp;

	fp = (uffs_Object*)(fd->data);
	RT_ASSERT(fp != RT_NULL);

	return uffs_FlushObject(fp); 
}      
예제 #2
0
파일: uffs_fs.c 프로젝트: mazj/uffs
/**
 * truncate an object
 *
 * \param[in] obj object to be truncated
 * \param[in] remain data bytes to be remained in this object
 *
 * \return U_SUCC or U_FAIL (error code in obj->err)
 */
URET uffs_TruncateObject(uffs_Object *obj, u32 remain)
{
	uffs_ObjectDevLock(obj);
	if (do_TruncateObject(obj, remain, eDRY_RUN) == U_SUCC)
		do_TruncateObject(obj, remain, eREAL_RUN);
	uffs_ObjectDevUnLock(obj);

	uffs_FlushObject(obj);

	return (obj->err == UENOERR ? U_SUCC : U_FAIL);
}
예제 #3
0
int uffs_flush(int fd)
{
    int ret;
    uffs_Object *obj = FD2OBJ(fd);

    CHK_OBJ(obj, -1);
    uffs_ClearObjectErr(obj);
    ret = (uffs_FlushObject(obj) == U_SUCC) ? 0 : -1;
    uffs_set_error(-uffs_GetObjectErr(obj));

    return ret;
}
int uffs_flush(int fd)
{
	int ret;
	uffs_Object *obj;

	CHK_OBJ_LOCK(fd, obj, -1);
	uffs_ClearObjectErr(obj);
	ret = (uffs_FlushObject(obj) == U_SUCC) ? 0 : -1;
	uffs_set_error(-uffs_GetObjectErr(obj));
	
	uffs_GlobalFsLockUnlock();

	return ret;
}