[Nfs-ganesha-devel] Change in ffilz/nfs-ganesha[next]: gtest/test_getattrs_latency: getattrs latency microbenchmark

2018-02-22 Thread GerritHub
>From Girjesh Rajoria :

Girjesh Rajoria has uploaded this change for review. ( 
https://review.gerrithub.io/400929


Change subject: gtest/test_getattrs_latency: getattrs latency microbenchmark
..

gtest/test_getattrs_latency: getattrs latency microbenchmark

gtest unit test that run getattrs on single case, large loops
and bypass cases to find average latency of the calls.

Change-Id: I17b6a46636c18f8891d03311c606297805459e54
Signed-off-by: Girjesh Rajoria 
---
M src/gtest/CMakeLists.txt
A src/gtest/test_getattrs_latency.cc
2 files changed, 365 insertions(+), 0 deletions(-)



  git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha 
refs/changes/29/400929/1
--
To view, visit https://review.gerrithub.io/400929
To unsubscribe, visit https://review.gerrithub.io/settings

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I17b6a46636c18f8891d03311c606297805459e54
Gerrit-Change-Number: 400929
Gerrit-PatchSet: 1
Gerrit-Owner: Girjesh Rajoria 
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] Change in ffilz/nfs-ganesha[next]: Remove unused fsal_read2() and fsal_write2()

2018-02-22 Thread GerritHub
>From Daniel Gryniewicz :

Daniel Gryniewicz has uploaded this change for review. ( 
https://review.gerrithub.io/401041


Change subject: Remove unused fsal_read2() and fsal_write2()
..

Remove unused fsal_read2() and fsal_write2()

Change-Id: I6bf6495190eadb3f0d0dcf8ff74823fb0235e18b
Signed-off-by: Daniel Gryniewicz 
---
M src/FSAL/fsal_helper.c
M src/include/fsal.h
2 files changed, 0 insertions(+), 205 deletions(-)



  git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha 
refs/changes/41/401041/1
--
To view, visit https://review.gerrithub.io/401041
To unsubscribe, visit https://review.gerrithub.io/settings

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6bf6495190eadb3f0d0dcf8ff74823fb0235e18b
Gerrit-Change-Number: 401041
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz 
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] Change in ffilz/nfs-ganesha[next]: ASYNC / vector API for read

2018-02-22 Thread GerritHub
>From Daniel Gryniewicz :

Daniel Gryniewicz has uploaded this change for review. ( 
https://review.gerrithub.io/401028


Change subject: ASYNC / vector API for read
..

ASYNC / vector API for read

This is an API change for read() in Ganesha that changes it to be
ASYNC/vector capable.  The changes are:

- Buffers are changed to use struct iovec arrays.  This allows vector
  I/O.
- FSALs with vector APIs are modified to use them.
- Other FSALs will need to be modified by the owners.  Until this
  happens, only one vector may be passed in
- Return values for read() are given in a done callback passed into the
  read() call.
- Arguments (especially out arguments) are moved into a structure that
  is passed into the done callback.
- At this time, the callback is called inline.

Change-Id: Idfadcd4593e883d7f07ad1482fab7a85de923fb2
Signed-off-by: Daniel Gryniewicz 
---
M src/FSAL/FSAL_CEPH/handle.c
M src/FSAL/FSAL_GLUSTER/handle.c
M src/FSAL/FSAL_GPFS/file.c
M src/FSAL/FSAL_GPFS/gpfs_methods.h
M src/FSAL/FSAL_MEM/mem_handle.c
M src/FSAL/FSAL_PROXY/handle.c
M src/FSAL/FSAL_RGW/handle.c
M src/FSAL/FSAL_VFS/file.c
M src/FSAL/FSAL_VFS/vfs_methods.h
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_int.h
M src/FSAL/Stackable_FSALs/FSAL_NULL/file.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/nullfs_methods.h
M src/FSAL/default_methods.c
M src/FSAL/fsal_helper.c
M src/Protocols/9P/9p_read.c
M src/Protocols/NFS/nfs3_read.c
M src/Protocols/NFS/nfs4_op_read.c
M src/include/fsal_api.h
19 files changed, 769 insertions(+), 471 deletions(-)



  git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha 
refs/changes/28/401028/1
--
To view, visit https://review.gerrithub.io/401028
To unsubscribe, visit https://review.gerrithub.io/settings

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfadcd4593e883d7f07ad1482fab7a85de923fb2
Gerrit-Change-Number: 401028
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz 
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] ACL support

2018-02-22 Thread J. Bruce Fields
On Thu, Feb 22, 2018 at 06:18:52AM -0800, Frank Filz wrote:
> Ah, that might be an issue. It’s hard to gets POSIX<->NFS V4 ACL
> conversion as best as possible (again, impossible to make it perfect,
> even for POSIX->NFS V4).

Well, POSIX->NFSv4 should be very close to perfect.  (Name mapping might
be the most likely problem in practice.)

> It would be good to fix all these conversion issues (without copying
> code from the kernel – note the license differences…)

The original ACL mapping code was all written while I was at UM/CITI by
me and a couple students, contributed under a permissive BSD-like
license, as you can see from the license header on fs/nfsd/nfs4acl.c.

So you should verify the license and git history to be sure, but I doubt
licensing would be an obstacle.

git://linux-nfs.org/bfields/acl.git also has patches implementing the
same mapping in libacl, written entirely while I was at citi.  They were
never upstreamed.  I'd recommend taking the kernel code instead as it's
gotten more bugfixes.

https://tools.ietf.org/html/draft-ietf-nfsv4-acl-mapping-05 has the best
documentation of the mapping.

All that aside, I agree with Frank that this is all complicated and
error-prone.  But the richacl patches seem stuck.  The only other
alternative I can think of at this point is to go back to the ietf nfsv4
working group with a proposal to add POSIX-like ACLs to NFSv4.2.

--b.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


[Nfs-ganesha-devel] Change in ffilz/nfs-ganesha[next]: ASYNC / vector API for write

2018-02-22 Thread GerritHub
>From Daniel Gryniewicz :

Daniel Gryniewicz has uploaded this change for review. ( 
https://review.gerrithub.io/401029


Change subject: ASYNC / vector API for write
..

ASYNC / vector API for write

This is an API change for read() in Ganesha that changes it to be
ASYNC/vector capable.  The changes are:

- Buffers are changed to use struct iovec arrays.  This will allow
  vector I/O in the future.
- FSALs with vector APIs are modified to use them.
- Other FSALs will need to be modified by the owners.  Until this
  happens, only one vector may be passed in
- Return values for write() are given in a done callback passed into the
  write() call.
- Arguments (especially out arguments) are moved into a structure that
  is passed into the done callback.
- At this time, the callback is called inline.

Change-Id: I03e44c4ec0d68961933e91910bc3aee8703f93c8
Signed-off-by: Daniel Gryniewicz 
---
M src/FSAL/FSAL_CEPH/handle.c
M src/FSAL/FSAL_GLUSTER/handle.c
M src/FSAL/FSAL_GPFS/file.c
M src/FSAL/FSAL_GPFS/gpfs_methods.h
M src/FSAL/FSAL_MEM/mem_handle.c
M src/FSAL/FSAL_PROXY/handle.c
M src/FSAL/FSAL_RGW/handle.c
M src/FSAL/FSAL_VFS/file.c
M src/FSAL/FSAL_VFS/vfs_methods.h
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_int.h
M src/FSAL/Stackable_FSALs/FSAL_NULL/file.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/nullfs_methods.h
M src/FSAL/default_methods.c
M src/FSAL/fsal_helper.c
M src/Protocols/9P/9p_read.c
M src/Protocols/9P/9p_write.c
M src/Protocols/NFS/nfs3_read.c
M src/Protocols/NFS/nfs3_write.c
M src/Protocols/NFS/nfs4_op_read.c
M src/Protocols/NFS/nfs4_op_write.c
M src/include/fsal_api.h
22 files changed, 637 insertions(+), 540 deletions(-)



  git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha 
refs/changes/29/401029/1
--
To view, visit https://review.gerrithub.io/401029
To unsubscribe, visit https://review.gerrithub.io/settings

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I03e44c4ec0d68961933e91910bc3aee8703f93c8
Gerrit-Change-Number: 401029
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz 
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] inconsistent '*' spacing

2018-02-22 Thread Frank Filz
> On 2/21/18 11:35 AM, Frank Filz wrote:
> > There's a -n or --no-verify option that will bypass the commit hooks. I 
> > suggest
> trying to commit without that first to make sure the only checkpatch
> errors/warnings are for the spacing around * and then commit again with -n to
> bypass checkpatch to actually commit.
> >
> Boy oh boy, I wish I'd known about that!!!

Sorry, I thought folks knew about that. Now you do, you are one of the folks 
more likely to need it as you are often touching the files that have 
intractable issues...

> So that's what I've done on the nfs41.h formatting.
> 
> I've also removed the K definitions that checkpatch hates.

Thanks for this effort. Life will be happier...

Though I think that if we static run checkpatch against the whole code base 
(rather than the patches) it may still trip on things here... But I know to 
ignore those when I do checkpatch against the whole tree...

Frank


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel


Re: [Nfs-ganesha-devel] ACL support

2018-02-22 Thread Frank Filz
Ah, that might be an issue. It’s hard to gets POSIX<->NFS V4 ACL conversion as 
best as possible (again, impossible to make it perfect, even for POSIX->NFS V4).

 

It would be good to fix all these conversion issues (without copying code from 
the kernel – note the license differences…)

 

Frank

 

From: Sagar M D [mailto:sagar...@gmail.com] 
Sent: Wednesday, February 21, 2018 10:12 PM
To: Sriram Patil 
Cc: Frank Filz ; Supriti Singh 
; nfs-ganesha-devel@lists.sourceforge.net
Subject: Re: [Nfs-ganesha-devel] ACL support

 

Hi,

 

Kernel nfs reorders the ACE in ACL and i think it puts more restrictive ACEs 
first in the list. But i see NFS Ganesha is not doing it,is reordering the 
responsibility of  FSAL ?

Is there any plans to support reordering ?

 

Thanks,

Sagar.

 

On Mon, Feb 19, 2018 at 11:43 AM, Sagar M D  > wrote:

Sriram,

 

Setting ATTR_ACL in supported_attrs helped. Now I could able to get the V4 
ACLs. Thanks!.

Frank,

Currently we are doing what you are suggesting i.e we are persistently saving 
the in-memory representation of ganesha NFSV4 ACL on disk.

And I'm not sure whether we are ready to check in our fsal into ganesha yet. We 
will discuss this internally.

Thanks! 

 

On Fri, Feb 16, 2018 at 9:21 PM, Sriram Patil  > wrote:

Thank you for the correction, Frank.

 

Sagar, there are a couple of more things that you have not mentioned yet,

 

1.  Have you set ATTR_ACL in supported_attrs field of your FSALs static 
fsinfo? (check usage of function nfs4_Fattr_Supported to know why this is 
required)
2.  You may also want to take a look at ENABLE_RFC_ACL flag. This is not 
for enabling ACLs but it is used for access checks in fsal_check_access_acl.

 

- Sriram

 

From: Frank Filz  >
Date: Friday, February 16, 2018 at 8:19 PM
To: Sriram Patil  >, 'Sagar M D' 
 >, 'Supriti Singh' 

Cc: "nfs-ganesha-devel@lists.sourceforge.net 
 " 
 >
Subject: RE: [Nfs-ganesha-devel] ACL support

 

It isn’t quite true that NFS v4 ACLs are a superset of POSIX ACLs, but that’s 
another detail.

 

Sriram is right, Ganesha doesn’t support the NFS v3 sideband protocol for POSIX 
ACLs. At this point Ganesha has the following support for ACLs:

 

FSAL_GLUSTER has a translation from client side NFS v4 ACLs to server side 
POSIX ACLs. In V2.7 we plan to move this support to the FSAL common code so it 
is available to more FSALs (and we will hook it up for FSAL_VFS at that point). 
Note that the conversion is not perfect due to NFS v4 ACLs not actually being a 
superset of POSIX ACLs.

 

FSAL_GPFS has native support for NFS v4 ACLs.

 

At this time Ganesha is only set up to handle NFS v4 ACLs via the FSAL API. If 
your file system can support NFS v4 ACLs natively, then all you need to do is 
provide a mechanism to transfer between Ganesha’s in memory representation of 
an NFS v4 ACL and your on-disk representation. If your file system can only 
support POSIX ACLs, then you will need the translation code from FSAL_GLUSTER 
(or write your own).

 

I’d also like to add my usual plug, if you have an out of tree FSAL, we 
encourage you to submit your FSAL into the tree. That allows us a better 
understanding of how Ganesha is being used, and we are less likely to change 
APIs in a way that breaks your FSAL (or we will change your FSAL with the API 
change).

 

Frank

 

From: Sriram Patil [mailto:srir...@vmware.com  ] 
Sent: Friday, February 16, 2018 2:51 AM
To: Sagar M D  >; Supriti Singh 
 >
Cc: nfs-ganesha-devel@lists.sourceforge.net 
 
Subject: Re: [Nfs-ganesha-devel] ACL support

 

Hi Sagar,

 

I see in your conf file that you are using NFSv4. POSIX acls do not work on 
NFSv4. NFSv4 acls are a superset of POSIX acls. For using NFSv4 acls you need 
to use nfs4_getfacl and nfs4_setfacl commands from the client. You can find 
these commands in nfs4-acl-tools package.

 

- Sriram

 

From: Sagar M D  >
Date: Friday, February 16, 2018 at 3:20 PM
To: Supriti Singh  >
Cc: "nfs-ganesha-devel@lists.sourceforge.net 
 " 

Subject: Re: [Nfs-ganesha-devel] ACL support

 

I quickly checked on VFS FSAL using below EXPORT block. I see same issue on vfs 
fsal also. Any