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); }
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); }