Hi,
Actually, the idea of union-ing things is probably broken anyway. Imagine
clear_inode() is called on a pipe (because pipefs does iput(), e.g. from
get_pipe_inode()):
if (inode->i_bdev) {
bdput(inode->i_bdev);
inode->i_bdev = NULL;
}
in the union version, for a pipe, inode->i_bdev may well be not NULL and
so bdput() will be called illegally. So, my yesterday's patch appears to
be broken. (which is why I left Linus in cc to this message, I would not
have wasted his time otherwise).
Regards,
Tigran
On Fri, 21 Jul 2000, Tigran Aivazian wrote:
> On Fri, 21 Jul 2000, Neil Brown wrote:
> > Only one of i_rdev and i_size are needed at a time, so we could union
> > them.
>
> can't be done quietly. Too much noise generated by the fact that
> ext2_inode_info uses the field called i_size so if one defines i_size as
> u1.u_size then ext2_fs_i.h will stop compiling. So, one would have to
> rename ext2_inode_info->i_size to something else, i_fsize?
>
> Regards,
> Tigran
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Jul 23 2000 - 21:00:15 EST