> Thanks for the quick response, Steve.
>
> I'd be happy to tackle the problem if you have an idea which module(s)
> changed. Maybe nfsd would have more luck detecting XFS than the other way
> around.
>
> Ken
>
Well, the ugly hack approach is to edit fs/xfs/linux/xfs_iops.c and
change this code (line 91):
if (!have_default_acl) {
mode &= ~current->fs->umask;
}
to something like this:
if (!have_default_acl && strcmp(current->comm, "nfsd")) {
mode &= ~current->fs->umask;
}
In other words, do not apply the umask if being called from nfs. The
problem is that this code is normally executed up above in the vfs layer
and for xfs we explicitly delay it until we get into the filesystem
so that we can make the determination about having an acl or not.
Andrew had the approach of setting the umask of the nfsd process to 0 at
startup, there was some other reason for this not being popular.
Steve
|