From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Gruenbacher Subject: [RFC] POSIX ACL kernel infrastructure Date: Sun, 4 Aug 2002 15:46:35 +0200 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <200208041546.35234.agruen@suse.de> Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="------------Boundary-00=_NLNB0P3356F1ZF7XHP6X" Return-path: Received: from Hermes.suse.de (Charybdis.suse.de [213.95.15.201]) by Cantor.suse.de (Postfix) with ESMTP id 9E9DD142C2 for ; Sun, 4 Aug 2002 15:46:35 +0200 (MEST) To: Linux-FSDevel List-Id: linux-fsdevel.vger.kernel.org --------------Boundary-00=_NLNB0P3356F1ZF7XHP6X Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello, I want to propose adding some infrastructure to the VFS for POSIX ACL=20 ssupport. There are already implementations for XFS and Ext2/Ext3; Reiser= FS=20 is to follow soon. The design is as follows: POSIX ACLs are passed between the kernel and us= er=20 space as Extended Attributes. The patches I've mentioned are doing exactl= y=20 that. The filesystems are responsible for handling ACLs; they are not lim= ited=20 to POSIX ACLs. Filesystems may choose to cache/manipulate ACLs in the kernel internal= =20 format that this patch implements, or differently. In any case they shoul= d=20 implement the get_posix_acl and set_posix_acl inode operations if mapping= =20 between native filesystem ACLs and POSIX ACLs makes sense. Other parts of the kernel (such as nfsd) can use the get_posix_acl and= =20 set_posix_acl inode operations to manipulate POSIX ACLs. This is currentl= y=20 required for nfsd, since nfsd must mask off permissions depending on the=20 protocol and client version (a module parameter controls this behavior). (This patch also requires the ENOTSUP and MS_NOUMASK issues to be resolve= d. I've posted messages on these topics to linux-kernel before, and I will s= end=20 copies to linux-fsdevel.) Regards, Andreas. ------------------------------------------------------------------ Andreas Gruenbacher SuSE Linux AG mailto:agruen@suse.de Deutschherrnstr. 15-19 http://www.suse.de/ D-90429 Nuernberg, Germany --------------Boundary-00=_NLNB0P3356F1ZF7XHP6X Content-Type: application/x-gzip; name="linux-2.5.30-posix-acl-0.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-2.5.30-posix-acl-0.diff.gz" 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 --------------Boundary-00=_NLNB0P3356F1ZF7XHP6X--