Re: More parallel atomic_open/d_splice_alias fun with NFS and possibly more FSes.

From: Al Viro
Date: Sun Jul 03 2016 - 20:08:09 EST


On Sun, Jul 03, 2016 at 07:29:46AM +0100, Al Viro wrote:

> Tentative NFS patch follows; I don't understand Lustre well enough, but it
> looks like a plausible strategy there as well.

Speaking of Lustre: WTF is
/* Open dentry. */
if (S_ISFIFO(d_inode(dentry)->i_mode)) {
/* We cannot call open here as it would
* deadlock.
*/
if (it_disposition(it, DISP_ENQ_OPEN_REF))
ptlrpc_req_finished(
(struct ptlrpc_request *)
it->d.lustre.it_data);
rc = finish_no_open(file, de);
} else {
about and why do we only do that to FIFOs? What about symlinks or device
nodes? Directories, for that matter... Shouldn't that be if (!S_ISREG(...))
instead?