From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Liu Subject: Common error in case of running out of the number of ACL entries Date: Fri, 13 Dec 2013 22:43:45 +0800 Message-ID: <52AB1D21.3000702@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: viro@ZenIV.linux.org.uk, Christoph Hellwig , Eric Sandeen To: linux-fsdevel@vger.kernel.org Return-path: Received: from userp1040.oracle.com ([156.151.31.81]:41363 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753125Ab3LMOoc (ORCPT ); Fri, 13 Dec 2013 09:44:32 -0500 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi Folks, While looking into the behaviour of XFS in case of running out of the maximum number of supported acl entries, I observed that we would return various different errors in this situation. As per Christoph's suggestion, I gathered up them from some common file systems with a simple tests which were shown as following: Btrfs: No space left on device (ENOSPC) Ext3: No space left on device (ENOSPC) Ext4: No space left oo long (E2BIG) F2fs: Numerical result out of range (ERANGE) OCFS2: Argument list too long (E2BIG) XFS: Invalid argument (EINVAL) It seems that return either above error would mislead the end user, though Eric's Sandeen once pointed out that ENOSPC should be used in this case in terms of the setxattr(2) man page. If there is insufficient space remaining to store the extended attribute, errno is set to either ENOSPC, or EDQUOT if quota enforcement was the cause. However, the "insufficient space" is obscure, it might be the file system space or no more space in metadata blocks, etc... Hence, should we consolidate this scenario to figure out a more clearer common error? Thanks, -Jeff Test script: #!/bin/bash testfile=$1 touch $testfile i=0 while : do setfacl -m u:$i:rw- $testfile let i+=1 done