From 1e671aa8cd29870ea66cee93ce947e3a628cfa35 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Fri, 3 Jan 2014 23:21:43 +0100 Subject: [PATCH] Rename struct kernel_dirent::d_off to d_nextoff. The d_off field exists on other operating systems and the kernel used the field in an incompatible manner. The easy solution is to call the field something else and later address the design mistake. --- ext/extfs.cpp | 2 +- kernel/descriptor.cpp | 2 +- kernel/fs/kram.cpp | 2 +- kernel/fs/user.cpp | 2 +- kernel/include/sortix/dirent.h | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ext/extfs.cpp b/ext/extfs.cpp index 9b3b7787..6eca40e9 100644 --- a/ext/extfs.cpp +++ b/ext/extfs.cpp @@ -462,7 +462,7 @@ void HandleReadDir(int svr, int chl, struct fsm_req_readdirents* msg, Filesystem if ( entry->inode && entry->name_len && !(msg->rec_num--) ) { kernel_entry.d_reclen = sizeof(kernel_entry) + entry->name_len; - kernel_entry.d_off = 0; + kernel_entry.d_nextoff = 0; kernel_entry.d_ino = entry->inode; kernel_entry.d_dev = 0; kernel_entry.d_type = 0; // TODO: Support this! diff --git a/kernel/descriptor.cpp b/kernel/descriptor.cpp index 5621fbad..deb95903 100644 --- a/kernel/descriptor.cpp +++ b/kernel/descriptor.cpp @@ -322,7 +322,7 @@ ssize_t Descriptor::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, struct kernel_dirent retdirent; memset(&retdirent, 0, sizeof(retdirent)); retdirent.d_reclen = needed; - retdirent.d_off = 0; + retdirent.d_nextoff = 0; retdirent.d_namlen = namelen; if ( !ctx->copy_to_dest(dirent, &retdirent, sizeof(retdirent)) ) return -1; diff --git a/kernel/fs/kram.cpp b/kernel/fs/kram.cpp index ce69f911..894b71a0 100644 --- a/kernel/fs/kram.cpp +++ b/kernel/fs/kram.cpp @@ -157,7 +157,7 @@ ssize_t Dir::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, Ref inode = children[start].inode; ret = needed; retdirent.d_reclen = needed; - retdirent.d_off = 0; + retdirent.d_nextoff = 0; retdirent.d_namlen = namelen; retdirent.d_ino = inode->ino; retdirent.d_dev = inode->dev; diff --git a/kernel/fs/user.cpp b/kernel/fs/user.cpp index 640aceea..e4451340 100644 --- a/kernel/fs/user.cpp +++ b/kernel/fs/user.cpp @@ -920,7 +920,7 @@ ssize_t Unode::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, struct kernel_dirent entry; entry.d_reclen = sizeof(entry) + resp.namelen + 1; - entry.d_off = 0; + entry.d_nextoff = 0; entry.d_namlen = resp.namelen; entry.d_dev = (dev_t) server; entry.d_ino = resp.ino; diff --git a/kernel/include/sortix/dirent.h b/kernel/include/sortix/dirent.h index 0e9dbed9..7d1f2994 100644 --- a/kernel/include/sortix/dirent.h +++ b/kernel/include/sortix/dirent.h @@ -72,7 +72,7 @@ typedef __ino_t ino_t; struct kernel_dirent { size_t d_reclen; - size_t d_off; + size_t d_nextoff; size_t d_namlen; ino_t d_ino; dev_t d_dev; @@ -82,9 +82,9 @@ struct kernel_dirent static inline struct kernel_dirent* kernel_dirent_next(struct kernel_dirent* ent) { - if ( !ent->d_off ) + if ( !ent->d_nextoff ) return NULL; - return (struct kernel_dirent*) ((uint8_t*) ent + ent->d_off); + return (struct kernel_dirent*) ((uint8_t*) ent + ent->d_nextoff); } __END_DECLS