Whamcloud - gitweb
LU-8851 nodemap: add uid/gid only flags to control mapping
[fs/lustre-release.git] / lustre / include / lustre_cfg.h
index dce22ff..bf2a62a 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
@@ -119,6 +115,7 @@ enum lcfg_command_type {
        LCFG_NODEMAP_TEST_ID    = 0x00ce056, /**< test uid/gid mapping */
        LCFG_NODEMAP_SET_FILESET   = 0x00ce057, /**< set fileset */
        LCFG_NODEMAP_DENY_UNKNOWN  = 0x00ce058, /**< deny squashed nodemap users */
+       LCFG_NODEMAP_MAP_MODE  = 0x00ce059, /**< set the mapping mode */
 };
 
 struct lustre_cfg_bufs {
@@ -186,7 +183,9 @@ static inline void *lustre_cfg_buf(struct lustre_cfg *lcfg, __u32 index)
        __u32 i;
        size_t offset;
        __u32 bufcount;
-       LASSERT (lcfg != NULL);
+
+       if (!lcfg)
+               return NULL;
 
         bufcount = lcfg->lcfg_bufcount;
         if (index >= bufcount)
@@ -268,7 +267,10 @@ static inline void lustre_cfg_init(struct lustre_cfg *lcfg, int cmd,
        ptr = (char *)lcfg + LCFG_HDR_SIZE(lcfg->lcfg_bufcount);
        for (i = 0; i < lcfg->lcfg_bufcount; i++) {
                lcfg->lcfg_buflens[i] = bufs->lcfg_buflen[i];
-               LOGL((char *)bufs->lcfg_buf[i], bufs->lcfg_buflen[i], ptr);
+               if (bufs->lcfg_buf[i]) {
+                       memcpy(ptr, bufs->lcfg_buf[i], bufs->lcfg_buflen[i]);
+                       ptr += cfs_size_round(bufs->lcfg_buflen[i]);
+               }
        }
 }