Messages in this thread |  | | | Date | Tue, 13 Mar 2012 09:34:53 -0700 (PDT) | | From | Sage Weil <> | | Subject | Re: [PATCH 06/25] vfs: add i_op->atomic_create() |
| |
On Tue, 13 Mar 2012, Miklos Szeredi wrote: > Miklos Szeredi <miklos@szeredi.hu> writes: > > > Christoph Hellwig <hch@infradead.org> writes: > > > >> On Tue, Mar 13, 2012 at 12:22:10PM +0100, Miklos Szeredi wrote: > >>> Good point. Yes, ->create is probably worth getting rid of. Mkdir, I'm > >>> not so sure, but I'll look at what filesystems are doing. > >> > >> Btw, is there any good reason to keep ->atomic_open and ->atomic_create > >> separate? It seems like the instances in general share code anyway. > > > > ->atomic_open is called before lookup, ->atomic_create after lookup. > > > > How would we differentiate between the two if they were common? We > > could have a filesystem flag, but for example CEPH does weird things > > like using ->atomic_open for !O_CREAT and ->atomic_create for O_CREAT.
Don't let what Ceph used to do distract you; I only got certain intent cases to work and didn't bother with the others.
> Or let the filesystem do the lookup in ->atomic_open if it wants (and > pass the need_lookup flag to the filesystem).
Either way is fine from my perspective.
sage
|  |