| 1 | This patch has been taken against SAMBA_3_0 Release 20028.
 | 
|---|
| 2 | 
 | 
|---|
| 3 | The patch basically moves the GPFS-ACL functionalities into the new GPFS VFS module( vfs_gpfs ).
 | 
|---|
| 4 | 
 | 
|---|
| 5 | Please read SAMBA_3_0/source/modules/README.nfs4acls.txt - generalised README file on Samba support for NFS4-ACLS. 
 | 
|---|
| 6 | This README file is specific for GPFS only.
 | 
|---|
| 7 | 
 | 
|---|
| 8 | Configuring GPFS ACL support
 | 
|---|
| 9 | ===============================
 | 
|---|
| 10 | 
 | 
|---|
| 11 | Binary: (default install path is [samba]/lib/vfs/)
 | 
|---|
| 12 | - gpfs.so 
 | 
|---|
| 13 | 
 | 
|---|
| 14 | Its compiled by default, no additional configure option needed.
 | 
|---|
| 15 | 
 | 
|---|
| 16 | To enable/use/load this module, include "vfs objects = gpfs" in the smb.conf file under concerned share-name.
 | 
|---|
| 17 | 
 | 
|---|
| 18 | Example of smb.conf:
 | 
|---|
| 19 | 
 | 
|---|
| 20 | [smbtest]
 | 
|---|
| 21 | path = /gpfs-test
 | 
|---|
| 22 | vfs objects = gpfs
 | 
|---|
| 23 | nfs4: mode = special
 | 
|---|
| 24 | nfs4: chown = yes
 | 
|---|
| 25 | nfs4: acedup = merge
 | 
|---|
| 26 | 
 | 
|---|
| 27 | Adding "vfs objects = gpfs" to a share should be done only in case when NFS4 is really supported by the filesystem.
 | 
|---|
| 28 | (Otherwise you may get performance loss.)
 | 
|---|
| 29 | 
 | 
|---|
| 30 | ==================================================
 | 
|---|
| 31 | Below are some limitations listed for this module:
 | 
|---|
| 32 | ==================================================
 | 
|---|
| 33 | 1. When a child file or child directory is created, the results are a bit different from windows as specified below:
 | 
|---|
| 34 | 
 | 
|---|
| 35 | Eg: Prent directory is set to have 2 ACES - full access for owner and everyone
 | 
|---|
| 36 | 
 | 
|---|
| 37 | Default ACL for Windows: 2 aces: allow ACE for owner and everyone       
 | 
|---|
| 38 | Default ACL for GPFS: 6 aces: allow and deny ACEs for owner, group and everyone
 | 
|---|
| 39 | 
 | 
|---|
| 40 | The below mentioned inheritance flags and its combinations are applied only to the owner ACE and not to everyone ACE    
 | 
|---|
| 41 | 
 | 
|---|
| 42 | "fi"------>File Inherit
 | 
|---|
| 43 | "di"------>Directory Inherit
 | 
|---|
| 44 | "oi"------>Inherit Only
 | 
|---|
| 45 | 
 | 
|---|
| 46 |         
 | 
|---|
| 47 | Parent dir: no inheritance flag set     
 | 
|---|
| 48 |         Windows: index=0:                       GPFS(special mode): index=0:                    GPFS(simple mode): index=0:
 | 
|---|
| 49 | child File: default acl: 2 aces         child file: default acl: 6 aces         child file: default acl: 6 aces
 | 
|---|
| 50 | child dir: default acl: 2 aces          child dir: default acl: 6 aces          child dir: default acl: 6 aces
 | 
|---|
| 51 | 
 | 
|---|
| 52 | 
 | 
|---|
| 53 | Parent dir: "fi" flag set
 | 
|---|
| 54 |         Windows: index=1:                       GPFS(special mode): index=1:                    GPFS(simple mode): index=1:
 | 
|---|
| 55 | child file: no flag set                 child file: "fi" flag set               child file: default acl: 6 aces 
 | 
|---|
| 56 | child dir: "fioi" flag set              child dir: "fi" flag set                child dir: "fi" flag set
 | 
|---|
| 57 | 
 | 
|---|
| 58 | 
 | 
|---|
| 59 | Parent dir: "di" flag set
 | 
|---|
| 60 |         Windows: index=2:                       GPFS(special mode): index=2:                    GPFS(simple mode): index=2:
 | 
|---|
| 61 | child file: default acl: 2 aces         child file: default acl: 6 aces         child file: default acl: 6 aces
 | 
|---|
| 62 | 
 | 
|---|
| 63 | 
 | 
|---|
| 64 | Parent dir: "fidi" flag set
 | 
|---|
| 65 |         Windows: index=3:                       GPFS(special mode): index=3:                    GPFS(simple mode): index=3:
 | 
|---|
| 66 | child file: no flag set                 child file: "fidi" flag set             child file: default acl: 6 aces
 | 
|---|
| 67 | 
 | 
|---|
| 68 | 
 | 
|---|
| 69 | Parent dir: "fioi" flag set     
 | 
|---|
| 70 |         Windows: index=4:                       GPFS(special mode): index=4:                    GPFS(simple mode): index=4:
 | 
|---|
| 71 | child file: no flag set                 child file: "fi" flag set               child file: default acl: 6 aces
 | 
|---|
| 72 | child dir: "fioi" flag set              child dir: "fi" flag set                child dir: "fi" flag set
 | 
|---|
| 73 | 
 | 
|---|
| 74 | 
 | 
|---|
| 75 | Parent dir: "dioi" flag set
 | 
|---|
| 76 |         Windows: index=5:                       GPFS(special mode): index=5:                    GPFS(simple mode): index=5:
 | 
|---|
| 77 | child file: default acl: 2 aces         child file: default acl: 6 aces         child file: default acl: 6 aces
 | 
|---|
| 78 | 
 | 
|---|
| 79 | 
 | 
|---|
| 80 | Parent dir: "fidioi" flag set
 | 
|---|
| 81 |         Windows: index=6:                       GPFS(special mode): index=6:                    GPFS(simple mode): index=6:
 | 
|---|
| 82 | child file: no flag set                 child file: "fidi" flag set             child file: default acl: 6 aces
 | 
|---|