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
|
touch $(INITRD_MOUNT)/hi_there
|
||||||
chmod 527 $(INITRD_MOUNT)/hi_there
|
chmod 527 $(INITRD_MOUNT)/hi_there
|
||||||
chown josh:users $(INITRD_MOUNT)/hi_there
|
chown josh:users $(INITRD_MOUNT)/hi_there
|
||||||
|
mknod $(INITRD_MOUNT)/rd0 b 5 2
|
||||||
mkdir $(INITRD_MOUNT)/txt
|
mkdir $(INITRD_MOUNT)/txt
|
||||||
cp Makefile $(INITRD_MOUNT)/txt
|
cp Makefile $(INITRD_MOUNT)/txt
|
||||||
umount $(INITRD_MOUNT)
|
umount $(INITRD_MOUNT)
|
||||||
|
@ -65,12 +65,13 @@ int ext2_stat(vfs_mount_t *mount, char *file, vfs_stat_t *stat)
|
|||||||
return -1;
|
return -1;
|
||||||
ext2_inode_t inode = ext2_get_inode(mount, inode_number);
|
ext2_inode_t inode = ext2_get_inode(mount, inode_number);
|
||||||
|
|
||||||
|
stat->dev = 0;
|
||||||
switch(inode.i_mode & EXT2_I_MODE_TYPE_MASK)
|
switch(inode.i_mode & EXT2_I_MODE_TYPE_MASK)
|
||||||
{
|
{
|
||||||
case EXT2_I_MODE_FIFO: stat->type = VFS_FT_FIFO; break;
|
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_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_FILE: stat->type = VFS_FT_FILE; break;
|
||||||
case EXT2_I_MODE_SYM: stat->type = VFS_FT_SYMLINK; break;
|
case EXT2_I_MODE_SYM: stat->type = VFS_FT_SYMLINK; break;
|
||||||
case EXT2_I_MODE_SOCK: stat->type = VFS_FT_SOCK; 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->mtime = inode.i_mtime;
|
||||||
stat->ctime = inode.i_ctime;
|
stat->ctime = inode.i_ctime;
|
||||||
stat->links = inode.i_links_count;
|
stat->links = inode.i_links_count;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,6 +80,7 @@ typedef struct
|
|||||||
u32_t mtime;
|
u32_t mtime;
|
||||||
u32_t ctime;
|
u32_t ctime;
|
||||||
u16_t links;
|
u16_t links;
|
||||||
|
u32_t dev;
|
||||||
} vfs_stat_t;
|
} vfs_stat_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -147,7 +147,7 @@ void k_init()
|
|||||||
strcpy(fname, "/");
|
strcpy(fname, "/");
|
||||||
strcat(fname, dentry.name);
|
strcat(fname, dentry.name);
|
||||||
vfs_stat(fname, &fstat);
|
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_UR ? 'r' : '-');
|
||||||
putc(fstat.permissions & VFS_PERMS_UW ? 'w' : '-');
|
putc(fstat.permissions & VFS_PERMS_UW ? 'w' : '-');
|
||||||
putc(fstat.permissions & VFS_PERMS_UX ? 'x' : '-');
|
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_OW ? 'w' : '-');
|
||||||
putc(fstat.permissions & VFS_PERMS_OX ? 'x' : '-');
|
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);
|
vfs_close_dir(root);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user