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>
|
---|