On Mon, 23 Apr 2001, Alexander Viro wrote:
>> I like it. ext2fs does the same, so there should be no VFS
>> hassles involved. Al?
>
> We should get ext2 and friends to move the sucker _out_ of struct
> inode. As it is, sizeof(struct inode) is way too large. This is 2.5
> stuff, but it really has to be done. More filesystems adding stuff
> into the union is a Bad Thing(tm). If you want to allocates space -
> allocate if yourself; ->clear_inode() is the right place for freeing
> it.
Yes, I agree that the union is way too large and I did not plan to
extend it but simply use the size it has.
if (strlen(path) < sizeof(inode->u))
inline the symlink;
else
put it into the page cache;
So if somebody really cleans up the private inode structures it will
not trigger that often any more and we perhaps have to rethink the
idea.
But also if we use struct shmem_inode_info which is 92 bytes right now
we would inline all symlinks on my machine.
If we reduced its size to 32 (which could be easily done) we would
still inline 6642 out of 9317 symlinks on my machine. That's not bad.
Greetings
Christoph
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/