Re: [PATCH 02/31] Constify struct address_space_operations for 2.6.32v1

From: Emese Revfy
Date: Fri Dec 04 2009 - 19:35:08 EST


Matthew Wilcox wrote:
> On Fri, Dec 04, 2009 at 11:08:09PM +0100, Emese Revfy wrote:
>> struct address_space_operations {
>> - int (*writepage)(struct page *page, struct writeback_control *wbc);
>> - int (*readpage)(struct file *, struct page *);
>> - void (*sync_page)(struct page *);
>> + int (* const writepage)(struct page *page, struct writeback_control *wbc);
>> + int (* const readpage)(struct file *, struct page *);
>> + void (* const sync_page)(struct page *);
>
> Umm. What effect does this have?
> What changes as a result of this patch?

My idea was that since all variables of this type are const, we might
as well have the compiler enforce it for the future if you think that
these fields should not be writable at all.

> Aren't functions implicitly constant?

They are, but these are function pointer fields in a structure, not
the functions themselves.

--
Emese


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/