summaryrefslogtreecommitdiff
path: root/core/fs/fs.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-03-06 18:08:28 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-03-06 18:08:28 -0800
commitb84aec6ed33e657621465eb9c7d700a122d88e29 (patch)
tree7042446822806db2e3958fc7882658ee04574b7d /core/fs/fs.c
parent8c9d059b1584310dcbc39f3bc81d4c8401f6e78b (diff)
downloadsyslinux-b84aec6ed33e657621465eb9c7d700a122d88e29.tar.gz
pxe: use an inode structure for pxesyslinux-4.00-pre36
Use an inode structure for PXE as well. Even though this is really rather superfluous in the case of PXE, it eliminates an ugly special case in the generic code. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/fs/fs.c')
-rw-r--r--core/fs/fs.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/core/fs/fs.c b/core/fs/fs.c
index ae261b13..8d946903 100644
--- a/core/fs/fs.c
+++ b/core/fs/fs.c
@@ -150,7 +150,7 @@ void pm_searchdir(com32sys_t *regs)
regs->eflags.l |= EFLAGS_ZF;
} else {
regs->esi.w[0] = rv;
- regs->eax.l = handle_to_file(rv)->file_len;
+ regs->eax.l = handle_to_file(rv)->inode->size;
regs->eflags.l &= ~EFLAGS_ZF;
}
}
@@ -172,7 +172,7 @@ int searchdir(const char *name)
if (file->fs->fs_ops->searchdir) {
file->fs->fs_ops->searchdir(name, file);
- if (file->open_file)
+ if (file->inode)
return file_to_handle(file);
else
goto err;
@@ -274,7 +274,6 @@ int searchdir(const char *name)
file->inode = inode;
file->offset = 0;
- file->file_len = inode->size;
dprintf("File %s -> %p (inode %p) len %u\n", name, file,
inode, inode->size);
@@ -304,7 +303,7 @@ int open_file(const char *name, struct com32_filedata *filedata)
if (rv >= 0) {
file = handle_to_file(rv);
- filedata->size = file->file_len;
+ filedata->size = file->inode->size;
filedata->blocklg2 = SECTOR_SHIFT(file->fs);
filedata->handle = rv;
}
@@ -325,7 +324,7 @@ void pm_open_file(com32sys_t *regs)
} else {
file = handle_to_file(rv);
regs->eflags.l &= ~EFLAGS_CF;
- regs->eax.l = file->file_len;
+ regs->eax.l = file->inode->size;
regs->ecx.w[0] = SECTOR_SIZE(file->fs);
regs->esi.w[0] = rv;
}