On Fri, 17 Oct 2008 15:52:46 -0400 jim owens <jowens@xxxxxx> wrote: > Jeff Layton wrote: > > > Sure, I'm not disputing whether returning an error on open is right or > > wrong. The problem is that it's not expected. We've just unlinked the > > filename and returned success -- there is *no* reason that the create > > should fail here. An application programmer will (rightfully) consider > > this a bug. > > I agree that failing the unlink if you can not do it is > "the right thing to do"... but unless you have some magic > to prevent anyone else from creating the file between that > unlink and the create then in fact there is a reason the > application can see the create fail after unlink succeeds :) It's all about expectations. If you have your environment set up in such a way that you allow other processes or clients to race in and create a file or directory here, then you should be expecting that the create can fail, when it occurs :) I just think that we have to strive for _consistent_ behavior from the kernel. If we allow unlink to return without actually removing the link, then it may "just work" in most cases. The problem is that it won't work in some cases and it'll be very hard to predict when that will be. IMO, that's far worse than just failing the unlink outright. -- Jeff Layton <jlayton@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html