Messages in this thread | | | Date | Tue, 26 Apr 2005 16:56:15 +0100 | From | Jamie Lokier <> | Subject | Re: filesystem transactions API |
| |
Artem B. Bityuckiy wrote: > Jamie Lokier wrote: > >The problem with making them exclusive locks is that you halt the > >system for the duration of the transaction. If it's a big transaction > >such as updating 1000 files for a package update, that blocks a lot of > >programs for a long time, and it's not necessary. > > Surely we'll anyway block others if we have a kernel-level > transaction support? What is the difference in which layer to > block?
No. Why would you block? You can have transactions without blocking other processes.
When updating, say, the core-utils package (which contains cat), there's no reason why a program which executes "cat" should have to block during the update. It can simply execute the old one until the new one is committed at the end of the update.
It's analogous to RCU for protecting kernel data structures without blocking readers.
-- Jamie - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |