[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20081017161749.1fcbb214@tleilax.poochiereds.net>
Date: Fri, 17 Oct 2008 16:17:49 -0400
From: Jeff Layton <jlayton@...hat.com>
To: jim owens <jowens@...com>
Cc: Steve French <smfrench@...il.com>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
"linux-cifs-client@...ts.samba.org"
<linux-cifs-client@...ts.samba.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [linux-cifs-client] Re: unlink behavior when file is open by
other process
On Fri, 17 Oct 2008 15:52:46 -0400
jim owens <jowens@...com> 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@...hat.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists