From: "david m. richter" Subject: Re: nfs4_getfacl "Failed getxattr operation" when too many ACL entries exist Date: Thu, 10 Apr 2008 18:35:50 -0400 (EDT) Message-ID: References: <47FE8C68.50502@csupomona.edu> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: linux-nfs@vger.kernel.org To: Brian De Wolf Return-path: Received: from citi.umich.edu ([141.211.133.111]:44974 "EHLO citi.umich.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751821AbYDJWfv (ORCPT ); Thu, 10 Apr 2008 18:35:51 -0400 In-Reply-To: <47FE8C68.50502@csupomona.edu> Sender: linux-nfs-owner@vger.kernel.org List-ID: On Thu, 10 Apr 2008, Brian De Wolf wrote: > Recently we've been prototyping serving Solaris ZFS exports via NFSv4 to some > Linux hosts. These will some day be exposed to general users, so I've been > testing things to see if I can break them. Anyway, it seems that nfs4_getfacl > is only able to read ACLs with up to 208 entries. nfs4_setfacl is able to > insert a 209th entry, but any attempts to view or edit the ACLs after that > fail with: > > Failed getxattr operation > : Input/output error > > There are two ways to make the ACLs readable again: > 1) Have someone log in to the Solaris box and remove some of the entries > 2) Reset the ACLs using nfs4_setfacl -s `some spec` > > Has anyone run into this issue before? Is it fixable? I didn't reach the > same problem locally on the Solaris box, nor on another Solaris box with the > same NFS mount, so it looks like it's a problem specific to Linux. Here's the > versions of relevant packages on the test box running Gentoo (did I miss > any?): > Kernel: 2.6.23-gentoo-r8 > nfs-utils-1.1.0-r1 > attr-2.4.39 > nfs4-acl-tools-0.3.2 honestly, this probably stems from some naive, unrevisited assumptions still lingering nfs4-acl-tools code that need fixing. at the -very- least, nfs4_setfacl could save the original ACL and attempt to restore it if the setxattr() call fails. it's possible this case involves the server, but i suspect the tools. i'll look at this tomorrow and get back to you. d .