2018-11-20 12:41:48

by Alexey Brodkin

[permalink] [raw]
Subject: [PATCH] arc: [devboards] Add support of NFSv3 ACL

By default NFSv3 doesn't support ACL (Access Control Lists)
which might be quite convenient to have so that
mounted NFS behaves exactly as any other local file-system.

In particular missing support of ACL makes umask useless.
This among other thigs fixes Glibc's "nptl/tst-umask1".

Signed-off-by: Alexey Brodkin <[email protected]>
Cc: Cupertino Miranda <[email protected]>
Cc: [email protected]
---
arch/arc/configs/axs101_defconfig | 1 +
arch/arc/configs/axs103_defconfig | 1 +
arch/arc/configs/axs103_smp_defconfig | 1 +
arch/arc/configs/hsdk_defconfig | 1 +
arch/arc/configs/nps_defconfig | 1 +
arch/arc/configs/nsimosci_defconfig | 1 +
arch/arc/configs/nsimosci_hs_defconfig | 1 +
arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
arch/arc/configs/vdk_hs38_defconfig | 1 +
arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
10 files changed, 10 insertions(+)

diff --git a/arch/arc/configs/axs101_defconfig b/arch/arc/configs/axs101_defconfig
index 41bc08be6a3b..8c23bd086cd0 100644
--- a/arch/arc/configs/axs101_defconfig
+++ b/arch/arc/configs/axs101_defconfig
@@ -95,6 +95,7 @@ CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/axs103_defconfig b/arch/arc/configs/axs103_defconfig
index 1e1c4a8011b5..666314fffc60 100644
--- a/arch/arc/configs/axs103_defconfig
+++ b/arch/arc/configs/axs103_defconfig
@@ -94,6 +94,7 @@ CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/axs103_smp_defconfig b/arch/arc/configs/axs103_smp_defconfig
index 6b0c0cfd5c30..429832b8560b 100644
--- a/arch/arc/configs/axs103_smp_defconfig
+++ b/arch/arc/configs/axs103_smp_defconfig
@@ -97,6 +97,7 @@ CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
index 1dec2b4bc5e6..2a1d2cbfee1a 100644
--- a/arch/arc/configs/hsdk_defconfig
+++ b/arch/arc/configs/hsdk_defconfig
@@ -65,6 +65,7 @@ CONFIG_EXT3_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/nps_defconfig b/arch/arc/configs/nps_defconfig
index 31ba224bbfb4..ae7a0d8be98d 100644
--- a/arch/arc/configs/nps_defconfig
+++ b/arch/arc/configs/nps_defconfig
@@ -73,6 +73,7 @@ CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_ROOT_NFS=y
CONFIG_DEBUG_INFO=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/nsimosci_defconfig b/arch/arc/configs/nsimosci_defconfig
index f14eeff7d308..ad77f20e5aa6 100644
--- a/arch/arc/configs/nsimosci_defconfig
+++ b/arch/arc/configs/nsimosci_defconfig
@@ -66,5 +66,6 @@ CONFIG_EXT2_FS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
diff --git a/arch/arc/configs/nsimosci_hs_defconfig b/arch/arc/configs/nsimosci_hs_defconfig
index 025298a48305..1638e5bc9672 100644
--- a/arch/arc/configs/nsimosci_hs_defconfig
+++ b/arch/arc/configs/nsimosci_hs_defconfig
@@ -65,5 +65,6 @@ CONFIG_EXT2_FS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
diff --git a/arch/arc/configs/nsimosci_hs_smp_defconfig b/arch/arc/configs/nsimosci_hs_smp_defconfig
index df7b77b13b82..11cfbdb0f441 100644
--- a/arch/arc/configs/nsimosci_hs_smp_defconfig
+++ b/arch/arc/configs/nsimosci_hs_smp_defconfig
@@ -76,6 +76,7 @@ CONFIG_EXT2_FS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FTRACE=y
diff --git a/arch/arc/configs/vdk_hs38_defconfig b/arch/arc/configs/vdk_hs38_defconfig
index db47c3541f15..1e59a2e9c602 100644
--- a/arch/arc/configs/vdk_hs38_defconfig
+++ b/arch/arc/configs/vdk_hs38_defconfig
@@ -85,6 +85,7 @@ CONFIG_NTFS_FS=y
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig
index a8ac5e917d9a..b5c3f6c54b03 100644
--- a/arch/arc/configs/vdk_hs38_smp_defconfig
+++ b/arch/arc/configs/vdk_hs38_smp_defconfig
@@ -90,6 +90,7 @@ CONFIG_NTFS_FS=y
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
--
2.19.1



2018-11-21 19:10:57

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arc: [devboards] Add support of NFSv3 ACL

On 11/20/18 2:30 AM, Alexey Brodkin wrote:
> By default NFSv3 doesn't support ACL (Access Control Lists)
> which might be quite convenient to have so that
> mounted NFS behaves exactly as any other local file-system.
>
> In particular missing support of ACL makes umask useless.
> This among other thigs fixes Glibc's "nptl/tst-umask1".
>
> Signed-off-by: Alexey Brodkin <[email protected]>
> Cc: Cupertino Miranda <[email protected]>
> Cc: [email protected]

What is this fixing in the kernel, for this to be stable backported ?

> ---
> arch/arc/configs/axs101_defconfig | 1 +
> arch/arc/configs/axs103_defconfig | 1 +
> arch/arc/configs/axs103_smp_defconfig | 1 +
> arch/arc/configs/hsdk_defconfig | 1 +
> arch/arc/configs/nps_defconfig | 1 +
> arch/arc/configs/nsimosci_defconfig | 1 +
> arch/arc/configs/nsimosci_hs_defconfig | 1 +
> arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
> arch/arc/configs/vdk_hs38_defconfig | 1 +
> arch/arc/configs/vdk_hs38_smp_defconfig | 1 +

I understand a sweeping change is easy, more consistent so a good guiding
principel in general. But really all these defconfigs need NFS ? We keep on
increasing the bloat with this. IMHO we should update only relevant defconfigs.

> 10 files changed, 10 insertions(+)
>
> diff --git a/arch/arc/configs/axs101_defconfig b/arch/arc/configs/axs101_defconfig
> index 41bc08be6a3b..8c23bd086cd0 100644
> --- a/arch/arc/configs/axs101_defconfig
> +++ b/arch/arc/configs/axs101_defconfig
> @@ -95,6 +95,7 @@ CONFIG_VFAT_FS=y
> CONFIG_NTFS_FS=y
> CONFIG_TMPFS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/axs103_defconfig b/arch/arc/configs/axs103_defconfig
> index 1e1c4a8011b5..666314fffc60 100644
> --- a/arch/arc/configs/axs103_defconfig
> +++ b/arch/arc/configs/axs103_defconfig
> @@ -94,6 +94,7 @@ CONFIG_VFAT_FS=y
> CONFIG_NTFS_FS=y
> CONFIG_TMPFS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/axs103_smp_defconfig b/arch/arc/configs/axs103_smp_defconfig
> index 6b0c0cfd5c30..429832b8560b 100644
> --- a/arch/arc/configs/axs103_smp_defconfig
> +++ b/arch/arc/configs/axs103_smp_defconfig
> @@ -97,6 +97,7 @@ CONFIG_VFAT_FS=y
> CONFIG_NTFS_FS=y
> CONFIG_TMPFS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
> index 1dec2b4bc5e6..2a1d2cbfee1a 100644
> --- a/arch/arc/configs/hsdk_defconfig
> +++ b/arch/arc/configs/hsdk_defconfig
> @@ -65,6 +65,7 @@ CONFIG_EXT3_FS=y
> CONFIG_VFAT_FS=y
> CONFIG_TMPFS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/nps_defconfig b/arch/arc/configs/nps_defconfig
> index 31ba224bbfb4..ae7a0d8be98d 100644
> --- a/arch/arc/configs/nps_defconfig
> +++ b/arch/arc/configs/nps_defconfig
> @@ -73,6 +73,7 @@ CONFIG_PROC_KCORE=y
> CONFIG_TMPFS=y
> # CONFIG_MISC_FILESYSTEMS is not set
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_ROOT_NFS=y
> CONFIG_DEBUG_INFO=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/nsimosci_defconfig b/arch/arc/configs/nsimosci_defconfig
> index f14eeff7d308..ad77f20e5aa6 100644
> --- a/arch/arc/configs/nsimosci_defconfig
> +++ b/arch/arc/configs/nsimosci_defconfig
> @@ -66,5 +66,6 @@ CONFIG_EXT2_FS_XATTR=y
> CONFIG_TMPFS=y
> # CONFIG_MISC_FILESYSTEMS is not set
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> # CONFIG_ENABLE_MUST_CHECK is not set
> diff --git a/arch/arc/configs/nsimosci_hs_defconfig b/arch/arc/configs/nsimosci_hs_defconfig
> index 025298a48305..1638e5bc9672 100644
> --- a/arch/arc/configs/nsimosci_hs_defconfig
> +++ b/arch/arc/configs/nsimosci_hs_defconfig
> @@ -65,5 +65,6 @@ CONFIG_EXT2_FS_XATTR=y
> CONFIG_TMPFS=y
> # CONFIG_MISC_FILESYSTEMS is not set
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> # CONFIG_ENABLE_MUST_CHECK is not set
> diff --git a/arch/arc/configs/nsimosci_hs_smp_defconfig b/arch/arc/configs/nsimosci_hs_smp_defconfig
> index df7b77b13b82..11cfbdb0f441 100644
> --- a/arch/arc/configs/nsimosci_hs_smp_defconfig
> +++ b/arch/arc/configs/nsimosci_hs_smp_defconfig
> @@ -76,6 +76,7 @@ CONFIG_EXT2_FS_XATTR=y
> CONFIG_TMPFS=y
> # CONFIG_MISC_FILESYSTEMS is not set
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> # CONFIG_ENABLE_MUST_CHECK is not set
> CONFIG_FTRACE=y
> diff --git a/arch/arc/configs/vdk_hs38_defconfig b/arch/arc/configs/vdk_hs38_defconfig
> index db47c3541f15..1e59a2e9c602 100644
> --- a/arch/arc/configs/vdk_hs38_defconfig
> +++ b/arch/arc/configs/vdk_hs38_defconfig
> @@ -85,6 +85,7 @@ CONFIG_NTFS_FS=y
> CONFIG_TMPFS=y
> CONFIG_JFFS2_FS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig
> index a8ac5e917d9a..b5c3f6c54b03 100644
> --- a/arch/arc/configs/vdk_hs38_smp_defconfig
> +++ b/arch/arc/configs/vdk_hs38_smp_defconfig
> @@ -90,6 +90,7 @@ CONFIG_NTFS_FS=y
> CONFIG_TMPFS=y
> CONFIG_JFFS2_FS=y
> CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_ENABLE_WARN_DEPRECATED is not set


2018-11-21 21:39:57

by Alexey Brodkin

[permalink] [raw]
Subject: RE: [PATCH] arc: [devboards] Add support of NFSv3 ACL

Hi Vineet,

> -----Original Message-----
> From: Vineet Gupta
> Sent: Wednesday, November 21, 2018 8:40 PM
> To: Alexey Brodkin <[email protected]>; [email protected]
> Cc: [email protected]; Cupertino Miranda <[email protected]>; [email protected]
> Subject: Re: [PATCH] arc: [devboards] Add support of NFSv3 ACL
>
> On 11/20/18 2:30 AM, Alexey Brodkin wrote:
> > By default NFSv3 doesn't support ACL (Access Control Lists)
> > which might be quite convenient to have so that
> > mounted NFS behaves exactly as any other local file-system.
> >
> > In particular missing support of ACL makes umask useless.
> > This among other thigs fixes Glibc's "nptl/tst-umask1".
> >
> > Signed-off-by: Alexey Brodkin <[email protected]>
> > Cc: Cupertino Miranda <[email protected]>
> > Cc: [email protected]
>
> What is this fixing in the kernel, for this to be stable backported ?

It fixing not kernel problem indeed but user-space providing
complete ACL-enabled NFS share support. IMHO we should have had
that enabled with basic NFS support back in the day.

Part of the problem is ACL is not an essential part of NFSv3 spec and so
it is implemented as an option though I don't see a lot of sense in having
incomplete UNIX file-system even though for most of cases it works OK.

> > ---
> > arch/arc/configs/axs101_defconfig | 1 +
> > arch/arc/configs/axs103_defconfig | 1 +
> > arch/arc/configs/axs103_smp_defconfig | 1 +
> > arch/arc/configs/hsdk_defconfig | 1 +
> > arch/arc/configs/nps_defconfig | 1 +
> > arch/arc/configs/nsimosci_defconfig | 1 +
> > arch/arc/configs/nsimosci_hs_defconfig | 1 +
> > arch/arc/configs/nsimosci_hs_smp_defconfig | 1 +
> > arch/arc/configs/vdk_hs38_defconfig | 1 +
> > arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
>
> I understand a sweeping change is easy, more consistent so a good guiding
> principel in general. But really all these defconfigs need NFS ? We keep on
> increasing the bloat with this. IMHO we should update only relevant defconfigs.

Well my point is in having similarly equipped platforms so that we may rely on
results we're getting on all of them. Thus all platforms supporting networking
got that update.

Maybe NPS is not that important as we most probably not going to use it
for verification of anything so this one could be dropped.

Speaking about bloat...
------------------------------------->8-----------------------------------
# git grep NFS torvalds/master arch/arc/configs/ | grep nsim_
torvalds/master:arch/arc/configs/nsim_700_defconfig:57:CONFIG_NFS_FS=y
torvalds/master:arch/arc/configs/nsim_hs_defconfig:58:CONFIG_NFS_FS=y
torvalds/master:arch/arc/configs/nsim_hs_smp_defconfig:57:CONFIG_NFS_FS=y
------------------------------------->8-----------------------------------

It's a nonsense I guess as obviously there's no way to have networking on
pure nSIM platforms, right? And that I'm going to clean-up in a separate patch.

As for other boards I realize that we add more config options over time
but that's how we make them more useful and capable.
Moreover since we're talking about _defconfigs_ here I guess there're
many other options we don't touch but they still change so over time
we still cannot compare the same defconfigs as apples vs apples.

-Alexey

2018-11-22 02:37:48

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arc: [devboards] Add support of NFSv3 ACL

On 11/20/18 2:30 AM, Alexey Brodkin wrote:
> By default NFSv3 doesn't support ACL (Access Control Lists)
> which might be quite convenient to have so that
> mounted NFS behaves exactly as any other local file-system.
>
> In particular missing support of ACL makes umask useless.
> This among other thigs fixes Glibc's "nptl/tst-umask1".
>
> Signed-off-by: Alexey Brodkin <[email protected]>
> Cc: Cupertino Miranda <[email protected]>
> Cc: [email protected]

Applied, with stable restricted to 4.14+