NFS_FLAGS(inode) |= NFS_INO_INVALID_ACCESS; 
NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS; 
static int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,		  struct posix_acl *dfacl){	struct nfs_server *server = NFS_SERVER(inode);	struct nfs_fattr fattr;	struct page *pages[NFSACL_MAXPAGES] = { };	struct nfs3_setaclargs args = {		.inode = inode,		.mask = NFS_ACL,		.acl_access = acl,		.pages = pages,	};	int status, count;	status = -EOPNOTSUPP;	if (!nfs_server_capable(inode, NFS_CAP_ACLS))		goto out;	/* We are doing this here, because XDR marshalling can only	   return -ENOMEM. */	status = -ENOSPC;	if (acl != NULL && acl->a_count > NFS_ACL_MAX_ENTRIES)		goto out;	if (dfacl != NULL && dfacl->a_count > NFS_ACL_MAX_ENTRIES)		goto out;	if (S_ISDIR(inode->i_mode)) {		args.mask |= NFS_DFACL;		args.acl_default = dfacl;	}	dprintk("NFS call setacl\n");	nfs_begin_data_update(inode);	status = rpc_call(server->client_acl, ACLPROC3_SETACL,			  &args, &fattr, 0);	NFS_FLAGS(inode) |= NFS_INO_INVALID_ACCESS;	nfs_end_data_update(inode);	dprintk("NFS reply setacl: %d\n", status);	/* pages may have been allocated at the xdr layer. */	for (count = 0; count < NFSACL_MAXPAGES && args.pages[count]; count++)		__free_page(args.pages[count]);	switch (status) {		case 0:			status = nfs_refresh_inode(inode, &fattr);			break;		case -EPFNOSUPPORT:		case -EPROTONOSUPPORT:			dprintk("NFS_V3_ACL SETACL RPC not supported"					"(will not retry)\n");			server->caps &= ~NFS_CAP_ACLS;		case -ENOTSUPP:			status = -EOPNOTSUPP;	}out:	return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/5529680981807b44abf3be30fb6d612ff04f68ff/nfs3acl.c/buggy/fs/nfs/nfs3acl.c