Messages in this thread | | | Date | Fri, 15 Feb 2013 04:42:27 +0100 | From | Martin Sustrik <> | Subject | Re: [PATCH v2 1/1] eventfd: implementation of EFD_MASK flag |
| |
Hi Andrew,
Thanks for the detailed code review! I'll have a look at all the problems you've pointed out, however, one quick question:
>> - ret = seq_printf(m, "eventfd-count: %16llx\n", >> - (unsigned long long)ctx->count); >> + if (ctx->flags& EFD_MASK) { >> + ret = seq_printf(m, "eventfd-mask: %x\n", >> + (unsigned)ctx->mask.events); >> + } else { >> + ret = seq_printf(m, "eventfd-count: %16llx\n", >> + (unsigned long long)ctx->count); >> + } >> spin_unlock_irq(&ctx->wqh.lock); > > This is a non-back-compatible userspace interface change. A procfs > file which previously displayed > > eventfd-count: nnnn > > can now also display > > eventfd-mask: nnnn > > So existing userspace could misbehave. > > Please fully describe the proposed interface change in the changelog. > That description should include the full pathname of the procfs file > and example before-and-after output and a discussion of whether and why > the risk to existing userspace is acceptable.
I am not sure what the policy is here. Is not printing out the state of the object acceptable way to maintain backward compatibility? If not so, does new type of object require new procfs file, which, AFAIU, is the only way to retain full backward compatibility?
Martin
| |