Re: [RFC] atomic open(..., O_CREAT | ...)

From: Trond Myklebust
Date: Mon Aug 08 2005 - 17:59:24 EST


ty den 09.08.2005 Klokka 00:27 (+0200) skreiv Miklos Szeredi:
> I'd like to make my filesystem be able to do file creation and opening
> atomically. This is needed for filesystems which cannot separate
> checking open permission from the actual open operation.
>
> Usually any filesystem served from userspace by an unprivileged (no
> CAP_DAC_OVERRIDE) process will be such (ftp, sftp, etc.).
>
> With nameidata->intent.open.* it is possible to do the actual open
> from ->lookup() or ->create(). However there's no easy way to
> associate the 'struct file *' returned by dentry_open() with the
> filesystem's private file object. Also if there's some error after
> the file has been opened but before a successful return of the file
> pointer, the filesystem has no way to know that it should destroy the
> private file object.

We've already got a patch that does this, and that I'm queueing up for
inclusion. See

http://client.linux-nfs.org/Linux-2.6.x/2.6.12/linux-2.6.12-63-open_file_intents.dif

As for the "orig flags" thing. What is the point of that?

Cheers,
Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/