| 1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>vfs_gpfs</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" title="vfs_gpfs"><a name="vfs_gpfs.8"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vfs_gpfs — gpfs specific samba extensions like acls and prealloc</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="literal">vfs objects = gpfs</code></p></div></div><div class="refsect1" title="DESCRIPTION"><a name="id266339"></a><h2>DESCRIPTION</h2><p>This VFS module is part of the
|
|---|
| 2 | <a class="citerefentry" href="samba.7.html"><span class="citerefentry"><span class="refentrytitle">samba</span>(7)</span></a> suite.</p><p>The <code class="literal">gpfs</code> VFS module is the home
|
|---|
| 3 | for all gpfs extensions that Samba requires for proper integration
|
|---|
| 4 | with GPFS. It uses the GPL library interfaces provided by GPFS.
|
|---|
| 5 | </p><p>Currently the gpfs vfs module provides extensions in following areas :
|
|---|
| 6 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>NFSv4 ACL Interfaces with configurable options for GPFS</p></li><li class="listitem"><p>Kernel oplock support on GPFS</p></li><li class="listitem"><p>Lease support on GPFS</p></li></ul></div><p>
|
|---|
| 7 | </p><p><code class="literal">NOTE:</code>This module follows the posix-acl behaviour
|
|---|
| 8 | and hence allows permission stealing via chown. Samba might allow at a later
|
|---|
| 9 | point in time, to restrict the chown via this module as such restrictions
|
|---|
| 10 | are the responsibility of the underlying filesystem than of Samba.
|
|---|
| 11 | </p><p>This module is stackable.</p></div><div class="refsect1" title="OPTIONS"><a name="id266858"></a><h2>OPTIONS</h2><div class="variablelist"><dl><dt><span class="term">gpfs:sharemodes = [ yes | no ]</span></dt><dd><p>
|
|---|
| 12 | Enable/Disable cross node sharemode handling for GPFS.
|
|---|
| 13 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 14 | <code class="literal">yes(default)</code> - propagate sharemodes across all GPFS nodes.
|
|---|
| 15 | </p></li><li class="listitem"><p>
|
|---|
| 16 | <code class="literal">no</code> - do not propagate sharemodes across all GPFS nodes.
|
|---|
| 17 | This should only be used if the GPFS file system is
|
|---|
| 18 | exclusively exported by Samba. Access by local unix application or
|
|---|
| 19 | NFS exports could lead to corrupted files.
|
|---|
| 20 | </p></li></ul></div></dd><dt><span class="term">gpfs:leases = [ yes | no ]</span></dt><dd><p>
|
|---|
| 21 | Enable/Disable cross node leases (oplocks) for GPFS.
|
|---|
| 22 | You should also set the <code class="literal">oplocks</code> and <code class="literal">kernel oplocks</code>
|
|---|
| 23 | options to the same value.
|
|---|
| 24 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 25 | <code class="literal">yes(default)</code> - propagate leases across all GPFS nodes.
|
|---|
| 26 | </p></li><li class="listitem"><p>
|
|---|
| 27 | <code class="literal">no</code> - do not propagate leases across all GPFS nodes.
|
|---|
| 28 | This should only be used if the GPFS file system is
|
|---|
| 29 | exclusively exported by Samba. Access by local unix application or
|
|---|
| 30 | NFS exports could lead to corrupted files.
|
|---|
| 31 | </p></li></ul></div></dd><dt><span class="term">gpfs:hsm = [ yes | no ]</span></dt><dd><p>
|
|---|
| 32 | Enable/Disable announcing if this FS has HSM enabled.
|
|---|
| 33 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 34 | <code class="literal">no(default)</code> - Do not announce HSM.
|
|---|
| 35 | </p></li><li class="listitem"><p>
|
|---|
| 36 | <code class="literal">no</code> - Announce HSM.
|
|---|
| 37 | </p></li></ul></div></dd><dt><span class="term">gpfs:getrealfilename = [ yes | no ]</span></dt><dd><p>
|
|---|
| 38 | Enable/Disable usage of the <code class="literal">gpfs_get_realfilename_path()</code> function.
|
|---|
| 39 | This improves the casesensitive wildcard file name access.
|
|---|
| 40 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 41 | <code class="literal">yes(default)</code> - use <code class="literal">gpfs_get_realfilename_path()</code>.
|
|---|
| 42 | </p></li><li class="listitem"><p>
|
|---|
| 43 | <code class="literal">no</code> - do not use <code class="literal">gpfs_get_realfilename_path()</code>.
|
|---|
| 44 | It seems that <code class="literal">gpfs_get_realfilename_path()</code> doesn't work on AIX.
|
|---|
| 45 | </p></li></ul></div></dd><dt><span class="term">gpfs:winattr = [ yes | no ]</span></dt><dd><p>
|
|---|
| 46 | Enable/Disable usage of the windows attributes in GPFS.
|
|---|
| 47 | GPFS is able to store windows file attributes e.g. HIDDEN,
|
|---|
| 48 | READONLY, SYSTEM and others natively. That means Samba doesn't
|
|---|
| 49 | need to map them to permission bits or extended attributes.
|
|---|
| 50 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 51 | <code class="literal">no(default)</code> - do not use GPFS windows attributes.
|
|---|
| 52 | </p></li><li class="listitem"><p>
|
|---|
| 53 | <code class="literal">yes</code> - use GPFS windows attributes.
|
|---|
| 54 | </p></li></ul></div></dd><dt><span class="term">gpfs:merge_writeappend = [ yes | no ]</span></dt><dd><p>
|
|---|
| 55 | GPFS ACLs doesn't know about the 'APPEND' right.
|
|---|
| 56 | This optionen lets Samba map the 'APPEND' right to 'WRITE'.
|
|---|
| 57 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 58 | <code class="literal">yes(default)</code> - map 'APPEND' to 'WRITE'.
|
|---|
| 59 | </p></li><li class="listitem"><p>
|
|---|
| 60 | <code class="literal">no</code> - do not map 'APPEND' to 'WRITE'.
|
|---|
| 61 | </p></li></ul></div></dd><dt><span class="term">gpfs:refuse_dacl_protected = [ yes | no ]</span></dt><dd><p>
|
|---|
| 62 | As GPFS does not support the ACE4_FLAG_NO_PROPAGATE NFSv4 flag (which would be
|
|---|
| 63 | the mapping for the DESC_DACL_PROTECTED flag), the status of this flag is
|
|---|
| 64 | currently silently ignored by Samba. That means that if you deselect the "Allow
|
|---|
| 65 | inheritable permissions..." checkbox in Windows' ACL dialog and then apply the
|
|---|
| 66 | ACL, the flag will be back immediately.
|
|---|
| 67 | </p><p>
|
|---|
| 68 | To make sure that automatic migration with e.g. robocopy does not lead to
|
|---|
| 69 | ACLs silently (and unintentionally) changed, you can set
|
|---|
| 70 | <code class="literal">gpfs:refuse_dacl_protected = yes</code> to enable an explicit
|
|---|
| 71 | check for this flag and if set, it will return NT_STATUS_NOT_SUPPORTED so
|
|---|
| 72 | errors are shown up on the Windows side and the Administrator is aware of
|
|---|
| 73 | the ACLs not being settable like intended
|
|---|
| 74 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
|---|
| 75 | <code class="literal">no(default)</code> - ignore the DESC_DACL_PROTECTED flags.
|
|---|
| 76 | </p></li><li class="listitem"><p>
|
|---|
| 77 | <code class="literal">yes</code> - reject ACLs with DESC_DACL_PROTECTED.
|
|---|
| 78 | </p></li></ul></div></dd><dt><span class="term">nfs4:mode = [ simple | special ]</span></dt><dd><p>
|
|---|
| 79 | Enable/Disable substitution of special IDs on GPFS. This parameter
|
|---|
| 80 | should not affect the windows users in anyway. It only ensures that Samba
|
|---|
| 81 | sets the special IDs - OWNER@ and GROUP@ ( mappings to simple uids )
|
|---|
| 82 | that are relevant to GPFS.
|
|---|
| 83 | </p><p>The following MODEs are understood by the module:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">simple(default)</code> - do not use special IDs in GPFS ACEs</p></li><li class="listitem"><p><code class="literal">special</code> - use special IDs in GPFS ACEs. </p></li></ul></div></dd><dt><span class="term">nfs4:acedup = [dontcare|reject|ignore|merge]</span></dt><dd><p>
|
|---|
| 84 | This parameter configures how Samba handles duplicate ACEs encountered in GPFS ACLs.
|
|---|
| 85 | GPFS allows/creates duplicate ACE for different bits for same ID.
|
|---|
| 86 | </p><p>Following is the behaviour of Samba for different values :</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">dontcare (default)</code> - copy the ACEs as they come</p></li><li class="listitem"><p><code class="literal">reject</code> - stop operation and exit with error on ACL set op</p></li><li class="listitem"><p><code class="literal">ignore</code> - don't include the second matching ACE</p></li><li class="listitem"><p><code class="literal">merge</code> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</p></li></ul></div></dd><dt><span class="term">nfs4:chown = [yes|no]</span></dt><dd><p>This parameter allows enabling or disabling the chown supported
|
|---|
| 87 | by the underlying filesystem. This parameter should be enabled with
|
|---|
| 88 | care as it might leave your system insecure.</p><p>Some filesystems allow chown as a) giving b) stealing. It is the latter
|
|---|
| 89 | that is considered a risk.</p><p>Following is the behaviour of Samba for different values : </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">yes</code> - Enable chown if as supported by the under filesystem</p></li><li class="listitem"><p><code class="literal">no (default)</code> - Disable chown</p></li></ul></div></dd><dt><span class="term">gpfs:syncio = [yes|no]</span></dt><dd><p>This parameter makes Samba open all files with O_SYNC.
|
|---|
| 90 | This triggers optimizations in GPFS for workloads that
|
|---|
| 91 | heavily share files.</p><p>Following is the behaviour of Samba for different
|
|---|
| 92 | values:
|
|---|
| 93 | </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">yes</code>Open files with O_SYNC
|
|---|
| 94 | </p></li><li class="listitem"><p><code class="literal">no (default)</code>Open files as
|
|---|
| 95 | normal Samba would do
|
|---|
| 96 | </p></li></ul></div></dd></dl></div></div><div class="refsect1" title="EXAMPLES"><a name="id307209"></a><h2>EXAMPLES</h2><p>A GPFS mount can be exported via Samba as follows :</p><pre class="programlisting">
|
|---|
| 97 | <em class="parameter"><code>[samba_gpfs_share]</code></em>
|
|---|
| 98 | <a class="link" href="smb.conf.5.html#VFSOBJECTS" target="_top">vfs objects = gpfs</a>
|
|---|
| 99 | <a class="link" href="smb.conf.5.html#PATH" target="_top">path = /test/gpfs_mount</a>
|
|---|
| 100 | <a class="link" href="smb.conf.5.html#NFS4:MODE" target="_top">nfs4: mode = special</a>
|
|---|
| 101 | <a class="link" href="smb.conf.5.html#NFS4:ACEDUP" target="_top">nfs4: acedup = merge</a>
|
|---|
| 102 | </pre></div><div class="refsect1" title="CAVEATS"><a name="id307362"></a><h2>CAVEATS</h2><p>
|
|---|
| 103 | Depending on the version of gpfs, the <code class="literal">libgpfs_gpl</code>
|
|---|
| 104 | library or the <code class="literal">libgpfs</code> library is needed at
|
|---|
| 105 | runtime by the <code class="literal">gpfs</code> VFS module:
|
|---|
| 106 | Starting with gpfs 3.2.1 PTF8, the complete <code class="literal">libgpfs</code>
|
|---|
| 107 | is available as open source and <code class="literal">libgpfs_gpl</code> does no
|
|---|
| 108 | longer exist. With earlier versions of gpfs, only the
|
|---|
| 109 | <code class="literal">libgpfs_gpl</code> library was open source and could be
|
|---|
| 110 | used at run time.
|
|---|
| 111 | </p><p>
|
|---|
| 112 | At build time, only the header file <code class="literal">gpfs_gpl.h</code>
|
|---|
| 113 | is required , which is a symlink to <code class="literal">gpfs.h</code> in
|
|---|
| 114 | gpfs versions newer than 3.2.1 PTF8.
|
|---|
| 115 | </p></div><div class="refsect1" title="VERSION"><a name="id307417"></a><h2>VERSION</h2><p>This man page is correct for version 3.0.25 of the Samba suite.
|
|---|
| 116 | </p></div><div class="refsect1" title="AUTHOR"><a name="id307426"></a><h2>AUTHOR</h2><p>The original Samba software and related utilities
|
|---|
| 117 | were created by Andrew Tridgell. Samba is now developed
|
|---|
| 118 | by the Samba Team as an Open Source project similar
|
|---|
| 119 | to the way the Linux kernel is developed.</p><p>The GPFS VFS module was created with contributions from
|
|---|
| 120 | Volker Lendecke and the developers at IBM.
|
|---|
| 121 | </p><p> This manpage was created by the IBM FSCC team </p></div></div></body></html>
|
|---|