Beispiel #1
0
ssize_t LittleFileSystem::file_write(fs_file_t file, const void *buffer, size_t len)
{
    lfs_file_t *f = (lfs_file_t *)file;
    _mutex.lock();
    LFS_INFO("file_write(%p, %p, %d)", file, buffer, len);
    lfs_ssize_t res = lfs_file_write(&_lfs, f, buffer, len);
    LFS_INFO("file_write -> %d", lfs_toerror(res));
    _mutex.unlock();
    return lfs_toerror(res);
}
Beispiel #2
0
static ssize_t _write(vfs_file_t *filp, const void *src, size_t nbytes)
{
    littlefs_desc_t *fs = filp->mp->private_data;
    lfs_file_t *fp = (lfs_file_t *)&filp->private_data.buffer;

    mutex_lock(&fs->lock);

    DEBUG("littlefs: write: filp=%p, fp=%p, src=%p, nbytes=%u\n",
          (void *)filp, (void *)fp, (void *)src, (unsigned)nbytes);

    ssize_t ret = lfs_file_write(&fs->fs, fp, src, nbytes);
    mutex_unlock(&fs->lock);

    return littlefs_err_to_errno(ret);
}