.release        = single_release,
 };
 
-struct tree_descr spufs_dir_contents[] = {
+struct spufs_tree_descr spufs_dir_contents[] = {
        { "capabilities", &spufs_caps_fops, 0444, },
        { "mem",  &spufs_mem_fops,  0666, },
        { "regs", &spufs_regs_fops,  0666, },
        {},
 };
 
-struct tree_descr spufs_dir_nosched_contents[] = {
+struct spufs_tree_descr spufs_dir_nosched_contents[] = {
        { "capabilities", &spufs_caps_fops, 0444, },
        { "mem",  &spufs_mem_fops,  0666, },
        { "mbox", &spufs_mbox_fops, 0444, },
 
 static int
 spufs_new_file(struct super_block *sb, struct dentry *dentry,
                const struct file_operations *fops, int mode,
-               struct spu_context *ctx)
+               size_t size, struct spu_context *ctx)
 {
        static struct inode_operations spufs_file_iops = {
                .setattr = spufs_setattr,
        ret = 0;
        inode->i_op = &spufs_file_iops;
        inode->i_fop = fops;
+       inode->i_size = size;
        inode->i_private = SPUFS_I(inode)->i_ctx = get_spu_context(ctx);
        d_add(dentry, inode);
 out:
        return simple_rmdir(parent, dir);
 }
 
-static int spufs_fill_dir(struct dentry *dir, struct tree_descr *files,
+static int spufs_fill_dir(struct dentry *dir, struct spufs_tree_descr *files,
                          int mode, struct spu_context *ctx)
 {
        struct dentry *dentry, *tmp;
                if (!dentry)
                        goto out;
                ret = spufs_new_file(dir->d_sb, dentry, files->ops,
-                                       files->mode & mode, ctx);
+                                       files->mode & mode, files->size, ctx);
                if (ret)
                        goto out;
                files++;
 
 #define SPUFS_I(inode) \
        container_of(inode, struct spufs_inode_info, vfs_inode)
 
-extern struct tree_descr spufs_dir_contents[];
-extern struct tree_descr spufs_dir_nosched_contents[];
+struct spufs_tree_descr {
+       const char *name;
+       const struct file_operations *ops;
+       int mode;
+       size_t size;
+};
+
+extern struct spufs_tree_descr spufs_dir_contents[];
+extern struct spufs_tree_descr spufs_dir_nosched_contents[];
 
 /* system call implementation */
 extern struct spufs_calls spufs_calls;