Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752851AbcLFNSi convert rfc822-to-8bit (ORCPT ); Tue, 6 Dec 2016 08:18:38 -0500 Received: from mail-vk0-f48.google.com ([209.85.213.48]:34801 "EHLO mail-vk0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752748AbcLFNSf (ORCPT ); Tue, 6 Dec 2016 08:18:35 -0500 MIME-Version: 1.0 In-Reply-To: References: <5a6862bd-924d-25e4-2a8e-ba4f51e66604@web.de> <20161205151933.GA17517@fieldses.org> <20161205162559.GB17517@fieldses.org> <266c571f-e4e2-7c61-5ee2-8ece0c2d06e9@web.de> From: Andreas Gruenbacher Date: Tue, 6 Dec 2016 14:18:31 +0100 Message-ID: Subject: Re: [PATCH] overlayfs: ignore empty NFSv4 ACLs in ext4 upperdir To: Miklos Szeredi Cc: =?UTF-8?Q?Andreas_Gr=C3=BCnbacher?= , Patrick Plagwitz , "J. Bruce Fields" , "linux-unionfs@vger.kernel.org" , Linux NFS list , Linux FS-devel Mailing List , Linux Kernel Mailing List Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1188 Lines: 28 On Tue, Dec 6, 2016 at 11:08 AM, Miklos Szeredi wrote: > On Tue, Dec 6, 2016 at 12:24 AM, Andreas Grünbacher > wrote: >> 2016-12-06 0:19 GMT+01:00 Andreas Grünbacher : > >>> It's not hard to come up with a heuristic that determines if a >>> system.nfs4_acl value is equivalent to a file mode, and to ignore the >>> attribute in that case. (The file mode is transmitted in its own >>> attribute already, so actually converting .) That way, overlayfs could >>> still fail copying up files that have an actual ACL. It's still an >>> ugly hack ... >> >> Actually, that kind of heuristic would make sense in the NFS client >> which could then hide the "system.nfs4_acl" attribute. > > Even simpler would be if knfsd didn't send the attribute if not > necessary. Looks like there's code actively creating the nfs4_acl on > the wire even if the filesystem had none: > > pacl = get_acl(inode, ACL_TYPE_ACCESS); > if (!pacl) > pacl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL); > > What's the point? That's how the protocol is specified. (I'm not saying that that's very helpful.) Andreas