nfs_refresh_inode(dir, &dir_attr);
nfs_post_op_update_inode(dir, &dir_attr);
nfs3_proc_mknod(struct inode *dir, struct dentry *dentry, struct iattr *sattr,		dev_t rdev){	struct nfs_fh fh;	struct nfs_fattr fattr, dir_attr;	struct nfs3_mknodargs	arg = {		.fh		= NFS_FH(dir),		.name		= dentry->d_name.name,		.len		= dentry->d_name.len,		.sattr		= sattr,		.rdev		= rdev	};	struct nfs3_diropres	res = {		.dir_attr	= &dir_attr,		.fh		= &fh,		.fattr		= &fattr	};	mode_t mode = sattr->ia_mode;	int status;	switch (sattr->ia_mode & S_IFMT) {	case S_IFBLK:	arg.type = NF3BLK;  break;	case S_IFCHR:	arg.type = NF3CHR;  break;	case S_IFIFO:	arg.type = NF3FIFO; break;	case S_IFSOCK:	arg.type = NF3SOCK; break;	default:	return -EINVAL;	}	dprintk("NFS call  mknod %s %u:%u\n", dentry->d_name.name,			MAJOR(rdev), MINOR(rdev));	sattr->ia_mode &= ~current->fs->umask;	nfs_fattr_init(&dir_attr);	nfs_fattr_init(&fattr);	status = rpc_call(NFS_CLIENT(dir), NFS3PROC_MKNOD, &arg, &res, 0);	nfs_refresh_inode(dir, &dir_attr);	if (status != 0)		goto out;	status = nfs_instantiate(dentry, &fh, &fattr);	if (status != 0)		goto out;	status = nfs3_proc_set_default_acl(dir, dentry->d_inode, mode);out:	dprintk("NFS reply mknod: %d\n", status);	return status;}