On Mon, Dec 14, 2009 at 11:28, Johannes Stezenbach <js@xxxxxxxxx> wrote: > On Mon, Dec 14, 2009 at 10:14:50AM +0100, Martin Pitt wrote: >> >> A gotcha that I see here is that the force_release only ever gets >> appended to. I. e. whenever we run udevtrigger, we'd append the same >> keys again. POSIX shell doesn't have elaborate substring matching >> capabilities like bash's ${x/pattern/string}, so it might not be too >> easy to check if we already have a key in POSIX sh. (But please don't >> call grep in a loop; let's rather rewrite this bit in C). There might >> be some trickery with splitting by IFS=, into an array or so, if you >> want to keep using sh? > > The problem is that force_release is preset by the kernel, so > in order to do what you want we need either > a) pass both old and new key list on "change" > b) save initial force_release value to a file on "add" > and use the file on "change" It should just not mangle the sysfs string if the value is already contained. Why would you need to store anything between a "change" and "add" event? Both events are handled the same way, and the two independent events run one after each other. I guess the logic to append a value to the sysfs string only if needed should be done in a tine C program, or a sed script with a RUN+= call directly to sed maybe can be used ... Thanks, Kay -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html