I just noticed that pipefs breaks the old good established tradition of
piling stuff unto the union in struct inode like all(most) filesystem do.
Surely, this is wrong because:
a) if you really don't want to do it the way it was in 2.2.x (inside
union) then you should have used u.generic_ip pointer. I don't see
inode->u.generic_ip used for something else in pipefs so why was a new
field inode->i_pipe invented?
b) other members of the union are surely larger than the mere 52 bytes
(with waitqueue debug enabled!) of pipe_inode_info so there is no saving
whatsoever.
c) it adds unneeded call to kmalloc() as opposed to having it hardcoded in
that union without taking up any space...
Any opinions?
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/