Import backup from 2005-01-04
This commit is contained in:
parent
50285aa33b
commit
d8580a9393
1
Makefile
1
Makefile
@ -65,6 +65,7 @@ initrd:
|
||||
touch $(INITRD_MOUNT)/hi_there
|
||||
chmod 527 $(INITRD_MOUNT)/hi_there
|
||||
chown josh:users $(INITRD_MOUNT)/hi_there
|
||||
mknod $(INITRD_MOUNT)/rd0 b 5 2
|
||||
mkdir $(INITRD_MOUNT)/txt
|
||||
cp Makefile $(INITRD_MOUNT)/txt
|
||||
umount $(INITRD_MOUNT)
|
||||
|
@ -65,12 +65,13 @@ int ext2_stat(vfs_mount_t *mount, char *file, vfs_stat_t *stat)
|
||||
return -1;
|
||||
ext2_inode_t inode = ext2_get_inode(mount, inode_number);
|
||||
|
||||
stat->dev = 0;
|
||||
switch(inode.i_mode & EXT2_I_MODE_TYPE_MASK)
|
||||
{
|
||||
case EXT2_I_MODE_FIFO: stat->type = VFS_FT_FIFO; break;
|
||||
case EXT2_I_MODE_CHAR: stat->type = VFS_FT_CHAR; break;
|
||||
case EXT2_I_MODE_CHAR: stat->type = VFS_FT_CHAR; stat->dev = inode.i_block[0]; break;
|
||||
case EXT2_I_MODE_DIR: stat->type = VFS_FT_DIR; break;
|
||||
case EXT2_I_MODE_BLOCK: stat->type = VFS_FT_BLOCK; break;
|
||||
case EXT2_I_MODE_BLOCK: stat->type = VFS_FT_BLOCK; stat->dev = inode.i_block[0]; break;
|
||||
case EXT2_I_MODE_FILE: stat->type = VFS_FT_FILE; break;
|
||||
case EXT2_I_MODE_SYM: stat->type = VFS_FT_SYMLINK; break;
|
||||
case EXT2_I_MODE_SOCK: stat->type = VFS_FT_SOCK; break;
|
||||
@ -85,7 +86,6 @@ int ext2_stat(vfs_mount_t *mount, char *file, vfs_stat_t *stat)
|
||||
stat->mtime = inode.i_mtime;
|
||||
stat->ctime = inode.i_ctime;
|
||||
stat->links = inode.i_links_count;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -80,6 +80,7 @@ typedef struct
|
||||
u32_t mtime;
|
||||
u32_t ctime;
|
||||
u16_t links;
|
||||
u32_t dev;
|
||||
} vfs_stat_t;
|
||||
|
||||
typedef struct
|
||||
|
@ -147,7 +147,7 @@ void k_init()
|
||||
strcpy(fname, "/");
|
||||
strcat(fname, dentry.name);
|
||||
vfs_stat(fname, &fstat);
|
||||
putc(fstat.type == VFS_FT_DIR ? 'd' : '-');
|
||||
putc(fstat.type == VFS_FT_DIR ? 'd' : fstat.type == VFS_FT_CHAR ? 'c' : fstat.type == VFS_FT_BLOCK ? 'b' : '-');
|
||||
putc(fstat.permissions & VFS_PERMS_UR ? 'r' : '-');
|
||||
putc(fstat.permissions & VFS_PERMS_UW ? 'w' : '-');
|
||||
putc(fstat.permissions & VFS_PERMS_UX ? 'x' : '-');
|
||||
@ -160,7 +160,10 @@ void k_init()
|
||||
putc(fstat.permissions & VFS_PERMS_OW ? 'w' : '-');
|
||||
putc(fstat.permissions & VFS_PERMS_OX ? 'x' : '-');
|
||||
|
||||
kprintf(" %d\t%d\t%d\t%d\t%s\n", fstat.links, fstat.uid, fstat.gid, fstat.size, dentry.name);
|
||||
kprintf(" %d\t%d\t%d\t%d\t%s", fstat.links, fstat.uid, fstat.gid, fstat.size, dentry.name);
|
||||
if (fstat.type == VFS_FT_CHAR || fstat.type == VFS_FT_BLOCK)
|
||||
kprintf("\t(%d, %d)", fstat.dev >> 8, fstat.dev & 0xFF);
|
||||
putc('\n');
|
||||
}
|
||||
vfs_close_dir(root);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user