diff --git a/pkg/fatfs/fatfs_vfs/fatfs_vfs.c b/pkg/fatfs/fatfs_vfs/fatfs_vfs.c index 45fa4263ac..97344fd776 100644 --- a/pkg/fatfs/fatfs_vfs/fatfs_vfs.c +++ b/pkg/fatfs/fatfs_vfs/fatfs_vfs.c @@ -222,14 +222,12 @@ static fatfs_file_desc_t * _get_fatfs_file_desc(vfs_file_t *f) return (fatfs_file_desc_t *)(uintptr_t)f->private_data.buffer; } -static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, - const char *abs_path) +static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { fatfs_file_desc_t *fd = _get_fatfs_file_desc(filp); fatfs_desc_t *fs_desc = (fatfs_desc_t *)filp->mp->private_data; _build_abs_path(fs_desc, name); - (void) abs_path; (void) mode; /* fatfs can't use mode param with f_open*/ DEBUG("fatfs_vfs.c: _open: private_data = %p, name = %s; flags = 0x%x\n", filp->mp->private_data, name, flags); @@ -416,11 +414,10 @@ static inline DIR * _get_DIR(vfs_DIR *d) return (DIR *)(uintptr_t)d->private_data.buffer; } -static int _opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int _opendir(vfs_DIR *dirp, const char *dirname) { DIR *dir = _get_DIR(dirp); fatfs_desc_t *fs_desc = (fatfs_desc_t *)dirp->mp->private_data; - (void) abs_path; _build_abs_path(fs_desc, dirname); diff --git a/pkg/littlefs/fs/littlefs_fs.c b/pkg/littlefs/fs/littlefs_fs.c index 72d3a97e4e..7f6840eb8e 100644 --- a/pkg/littlefs/fs/littlefs_fs.c +++ b/pkg/littlefs/fs/littlefs_fs.c @@ -286,11 +286,10 @@ static inline lfs_file_t * _get_lfs_file(vfs_file_t *f) return (lfs_file_t *)(uintptr_t)f->private_data.buffer; } -static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { littlefs_desc_t *fs = filp->mp->private_data; lfs_file_t *fp = _get_lfs_file(filp); - (void) abs_path; (void) mode; mutex_lock(&fs->lock); @@ -320,7 +319,7 @@ static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, con l_flags |= LFS_O_EXCL; } - DEBUG("littlefs: open: %s (abs_path: %s), flags: 0x%x\n", name, abs_path, (int) l_flags); + DEBUG("littlefs: open: %s, flags: 0x%x\n", name, (int) l_flags); int ret = lfs_file_open(&fs->fs, fp, name, l_flags); mutex_unlock(&fs->lock); @@ -477,16 +476,15 @@ static inline lfs_dir_t * _get_lfs_dir(vfs_DIR *dirp) return (lfs_dir_t *)(uintptr_t)dirp->private_data.buffer; } -static int _opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int _opendir(vfs_DIR *dirp, const char *dirname) { - (void)abs_path; littlefs_desc_t *fs = dirp->mp->private_data; lfs_dir_t *dir = _get_lfs_dir(dirp); mutex_lock(&fs->lock); - DEBUG("littlefs: opendir: dirp=%p, dirname=%s (abs_path=%s)\n", - (void *)dirp, dirname, abs_path); + DEBUG("littlefs: opendir: dirp=%p, dirname=%s\n", + (void *)dirp, dirname); int ret = lfs_dir_open(&fs->fs, dir, dirname); mutex_unlock(&fs->lock); diff --git a/pkg/littlefs2/fs/littlefs2_fs.c b/pkg/littlefs2/fs/littlefs2_fs.c index 18109fc5c7..6cd651b68e 100644 --- a/pkg/littlefs2/fs/littlefs2_fs.c +++ b/pkg/littlefs2/fs/littlefs2_fs.c @@ -291,11 +291,10 @@ static inline lfs_file_t * _get_lfs_file(vfs_file_t *f) return (lfs_file_t *)(uintptr_t)f->private_data.buffer; } -static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { littlefs2_desc_t *fs = filp->mp->private_data; lfs_file_t *fp = _get_lfs_file(filp); - (void) abs_path; (void) mode; mutex_lock(&fs->lock); @@ -325,7 +324,7 @@ static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, con l_flags |= LFS_O_EXCL; } - DEBUG("littlefs: open: %s (abs_path: %s), flags: 0x%x\n", name, abs_path, (int) l_flags); + DEBUG("littlefs: open: %s, flags: 0x%x\n", name, (int) l_flags); int ret = lfs_file_open(&fs->fs, fp, name, l_flags); mutex_unlock(&fs->lock); @@ -482,16 +481,15 @@ static inline lfs_dir_t * _get_lfs_dir(vfs_DIR *dirp) return (lfs_dir_t *)(uintptr_t)dirp->private_data.buffer; } -static int _opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int _opendir(vfs_DIR *dirp, const char *dirname) { - (void)abs_path; littlefs2_desc_t *fs = dirp->mp->private_data; lfs_dir_t *dir = _get_lfs_dir(dirp); mutex_lock(&fs->lock); - DEBUG("littlefs: opendir: dirp=%p, dirname=%s (abs_path=%s)\n", - (void *)dirp, dirname, abs_path); + DEBUG("littlefs: opendir: dirp=%p, dirname=%s\n", + (void *)dirp, dirname); int ret = lfs_dir_open(&fs->fs, dir, dirname); mutex_unlock(&fs->lock); diff --git a/pkg/spiffs/fs/spiffs_fs.c b/pkg/spiffs/fs/spiffs_fs.c index 076a0876ee..779272ce22 100644 --- a/pkg/spiffs/fs/spiffs_fs.c +++ b/pkg/spiffs/fs/spiffs_fs.c @@ -246,10 +246,9 @@ static int _statvfs(vfs_mount_t *mountp, const char *restrict path, struct statv return 0; } -static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { spiffs_desc_t *fs_desc = filp->mp->private_data; - (void) abs_path; DEBUG("spiffs: open: private_data = %p\n", filp->mp->private_data); spiffs_flags s_flags = 0; @@ -280,7 +279,7 @@ static int _open(vfs_file_t *filp, const char *name, int flags, mode_t mode, con s_flags |= SPIFFS_O_EXCL; } - DEBUG("spiffs: open: %s (abs_path: %s), flags: 0x%x, mode: %d\n", name, abs_path, (int) s_flags, (int) mode); + DEBUG("spiffs: open: %s, flags: 0x%x, mode: %d\n", name, (int) s_flags, (int) mode); s32_t ret = SPIFFS_open(&fs_desc->fs, name, s_flags, mode); if (ret >= 0) { @@ -368,11 +367,10 @@ static spiffs_DIR * _get_spifs_dir(vfs_DIR *dirp) return (spiffs_DIR *)(uintptr_t)&dirp->private_data.buffer[0]; } -static int _opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int _opendir(vfs_DIR *dirp, const char *dirname) { spiffs_desc_t *fs_desc = dirp->mp->private_data; spiffs_DIR *d = _get_spifs_dir(dirp); - (void) abs_path; spiffs_DIR *res = SPIFFS_opendir(&fs_desc->fs, dirname, d); if (res == NULL) { diff --git a/sys/fs/constfs/constfs.c b/sys/fs/constfs/constfs.c index de4fab450d..7067036bfb 100644 --- a/sys/fs/constfs/constfs.c +++ b/sys/fs/constfs/constfs.c @@ -39,11 +39,11 @@ static int constfs_statvfs(vfs_mount_t *mountp, const char *restrict path, struc /* File operations */ static int constfs_fstat(vfs_file_t *filp, struct stat *buf); static off_t constfs_lseek(vfs_file_t *filp, off_t off, int whence); -static int constfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path); +static int constfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode); static ssize_t constfs_read(vfs_file_t *filp, void *dest, size_t nbytes); /* Directory operations */ -static int constfs_opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path); +static int constfs_opendir(vfs_DIR *dirp, const char *dirname); static int constfs_readdir(vfs_DIR *dirp, vfs_dirent_t *entry); static const vfs_file_system_ops_t constfs_fs_ops = { @@ -162,12 +162,11 @@ static off_t constfs_lseek(vfs_file_t *filp, off_t off, int whence) return off; } -static int constfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int constfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { (void) mode; - (void) abs_path; constfs_t *fs = filp->mp->private_data; - DEBUG("constfs_open: %p, \"%s\", 0x%x, 0%03lo, \"%s\"\n", (void *)filp, name, flags, (unsigned long)mode, abs_path); + DEBUG("constfs_open: %p, \"%s\", 0x%x, 0%03lo\"\n", (void *)filp, name, flags, (unsigned long)mode); /* We only support read access */ if ((flags & O_ACCMODE) != O_RDONLY) { return -EROFS; @@ -203,10 +202,9 @@ static ssize_t constfs_read(vfs_file_t *filp, void *dest, size_t nbytes) return nbytes; } -static int constfs_opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int constfs_opendir(vfs_DIR *dirp, const char *dirname) { - (void) abs_path; - DEBUG("constfs_opendir: %p, \"%s\", \"%s\"\n", (void *)dirp, dirname, abs_path); + DEBUG("constfs_opendir: %p, \"%s\"\n", (void *)dirp, dirname); if (strncmp(dirname, "/", 2) != 0) { /* We keep it simple and only support a flat file system, only a root directory */ return -ENOENT; diff --git a/sys/fs/devfs/devfs.c b/sys/fs/devfs/devfs.c index 7c54fb9002..eba73b01e3 100644 --- a/sys/fs/devfs/devfs.c +++ b/sys/fs/devfs/devfs.c @@ -50,12 +50,12 @@ static mutex_t _devfs_mutex = MUTEX_INIT; /* File operations */ /* open is overloaded to allow searching for the correct device */ -static int devfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path); +static int devfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode); /* A minimal fcntl is also provided to enable SETFL handling */ static int devfs_fcntl(vfs_file_t *filp, int cmd, int arg); /* Directory operations */ -static int devfs_opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path); +static int devfs_opendir(vfs_DIR *dirp, const char *dirname); static int devfs_readdir(vfs_DIR *dirp, vfs_dirent_t *entry); static int devfs_closedir(vfs_DIR *dirp); @@ -75,9 +75,9 @@ const vfs_file_system_t devfs_file_system = { .d_op = &devfs_dir_ops, }; -static int devfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int devfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { - DEBUG("devfs_open: %p, \"%s\", 0x%x, 0%03lo, \"%s\"\n", (void *)filp, name, flags, (unsigned long)mode, abs_path); + DEBUG("devfs_open: %p, \"%s\", 0x%x, 0%03lo\n", (void *)filp, name, flags, (unsigned long)mode); /* linear search through the device list */ mutex_lock(&_devfs_mutex); clist_node_t *it = _devfs_list.next; @@ -98,7 +98,7 @@ static int devfs_open(vfs_file_t *filp, const char *name, int flags, mode_t mode filp->f_op = devp->f_op; /* Chain the open() method for the specific device */ if (filp->f_op->open != NULL) { - return filp->f_op->open(filp, name, flags, mode, abs_path); + return filp->f_op->open(filp, name, flags, mode); } return 0; } @@ -122,10 +122,9 @@ static int devfs_fcntl(vfs_file_t *filp, int cmd, int arg) } } -static int devfs_opendir(vfs_DIR *dirp, const char *dirname, const char *abs_path) +static int devfs_opendir(vfs_DIR *dirp, const char *dirname) { - (void) abs_path; - DEBUG("devfs_opendir: %p, \"%s\", \"%s\"\n", (void *)dirp, dirname, abs_path); + DEBUG("devfs_opendir: %p, \"%s\"\n", (void *)dirp, dirname); if (strncmp(dirname, "/", 2) != 0) { /* We keep it simple and only support a flat file system, only a root directory */ return -ENOENT; diff --git a/sys/include/vfs.h b/sys/include/vfs.h index 5dc2758082..617334440c 100644 --- a/sys/include/vfs.h +++ b/sys/include/vfs.h @@ -476,12 +476,11 @@ struct vfs_file_ops { * @param[in] name null-terminated name of the file to open, relative to the file system root, including a leading slash * @param[in] flags flags for opening, see man 2 open, man 3p open * @param[in] mode mode for creating a new file, see man 2 open, man 3p open - * @param[in] abs_path null-terminated name of the file to open, relative to the VFS root ("/") * * @return 0 on success * @return <0 on error */ - int (*open) (vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path); + int (*open) (vfs_file_t *filp, const char *name, int flags, mode_t mode); /** * @brief Read bytes from an open file @@ -528,12 +527,11 @@ struct vfs_dir_ops { * * @param[in] dirp pointer to open directory * @param[in] name null-terminated name of the dir to open, relative to the file system root, including a leading slash - * @param[in] abs_path null-terminated name of the dir to open, relative to the VFS root ("/") * * @return 0 on success * @return <0 on error */ - int (*opendir) (vfs_DIR *dirp, const char *dirname, const char *abs_path); + int (*opendir) (vfs_DIR *dirp, const char *dirname); /** * @brief Read a single entry from the open directory dirp and advance the diff --git a/sys/vfs/vfs.c b/sys/vfs/vfs.c index 971d1e8e9f..29881fc942 100644 --- a/sys/vfs/vfs.c +++ b/sys/vfs/vfs.c @@ -298,7 +298,7 @@ int vfs_open(const char *name, int flags, mode_t mode) } vfs_file_t *filp = &_vfs_open_files[fd]; if (filp->f_op->open != NULL) { - res = filp->f_op->open(filp, rel_path, flags, mode, name); + res = filp->f_op->open(filp, rel_path, flags, mode); if (res < 0) { /* something went wrong during open */ DEBUG("vfs_open: open: ERR %d!\n", res); @@ -420,7 +420,7 @@ int vfs_opendir(vfs_DIR *dirp, const char *dirname) dirp->mp = mountp; dirp->d_op = mountp->fs->d_op; if (dirp->d_op->opendir != NULL) { - int res = dirp->d_op->opendir(dirp, rel_path, dirname); + int res = dirp->d_op->opendir(dirp, rel_path); if (res < 0) { /* remember to decrement the open_files count */ atomic_fetch_sub(&mountp->open_files, 1); @@ -1114,7 +1114,7 @@ static bool _is_dir(vfs_mount_t *mountp, vfs_DIR *dir, const char *restrict path dir->d_op = ops; dir->mp = mountp; - int res = ops->opendir(dir, path, path); + int res = ops->opendir(dir, path); if (res < 0) { return false; } @@ -1140,7 +1140,7 @@ int vfs_sysop_stat_from_fstat(vfs_mount_t *mountp, const char *restrict path, st }, }; - int err = f_op->open(&filedir.file, path, 0, 0, NULL); + int err = f_op->open(&filedir.file, path, 0, 0); if (err < 0) { if (_is_dir(mountp, &filedir.dir, path)) { buf->st_mode = S_IFDIR; diff --git a/tests/devfs/main.c b/tests/devfs/main.c index 99e939baa3..d1448454ed 100644 --- a/tests/devfs/main.c +++ b/tests/devfs/main.c @@ -25,7 +25,7 @@ #include "embUnit.h" -static int _mock_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path); +static int _mock_open(vfs_file_t *filp, const char *name, int flags, mode_t mode); static ssize_t _mock_read(vfs_file_t *filp, void *dest, size_t nbytes); static ssize_t _mock_write(vfs_file_t *filp, const void *src, size_t nbytes); @@ -55,12 +55,11 @@ static vfs_mount_t _test_devfs_mount = { .private_data = &_mock_private_data, }; -static int _mock_open(vfs_file_t *filp, const char *name, int flags, mode_t mode, const char *abs_path) +static int _mock_open(vfs_file_t *filp, const char *name, int flags, mode_t mode) { (void) name; (void) flags; (void) mode; - (void) abs_path; if (filp->private_data.ptr != &_mock_private_data_tag) { return -4321; }