if WITH_LUSTRE_HACK
# it would be better that let configure script check this
-OPTIONAL_LUSTRE_CFLAGS = -fPIC -O0
+OPTIONAL_LUSTRE_CFLAGS = -fPIC
endif
AM_CFLAGS = $(OPTIONAL_LUSTRE_CFLAGS)
* zero. All permission bits to open/creat/setattr are absolute --
* They've already had a umask applied, when appropriate.
*/
- _sysio_umask = syscall(SYSIO_SYS_umask, 0);
+#ifndef REDSTORM
+ _sysio_umask = syscall(SYSIO_SYS_umask, 0);
+ /*
+ * For Red Storm, this functionality is handled in cstart.
+ * The mask to be "captured" has been sent already.
+ * This eliminates a system call from every node!
+ */
+#endif /* REDSTORM */
return _sysio_fssw_register("native", &native_fssw_ops);
}
INCLUDE_EXTRA = include/dev.h include/file.h include/fs.h \
include/inode.h include/mount.h include/sysio.h include/sysio-cmn.h \
- include/sysio-cmn.h include/sysio-symbols.h include/cplant-yod.h \
+ include/sysio-symbols.h include/cplant-yod.h \
include/module.mk include/xtio.h include/stddir.h \
include/native.h
#endif
/*
+ * In sysio_init we'll allow simple comments, strings outside {}
+ * delimited by COMMENT_INTRO, and '\n' or '\0'
+ */
+#define COMMENT_INTRO '#'
+
+/*
* Sysio library initialization. Must be called before anything else in the
* library.
*/
/*
* Discard leading white space.
*/
- while ((c = *arg) != '\0' &&
- !(c == '{' || strchr(IGNORE_WHITE, c) == NULL))
+ while ((c = *arg) != '\0' && strchr(IGNORE_WHITE, c))
arg++;
+ if (COMMENT_INTRO == c) {
+ while (*arg && (*arg != '\n')) {
+ ++arg;
+ }
+
+ continue;
+ }
if (c == '\0')
break;
if (c != '{') {
lpath[cc] = '\0'; /* NUL term */
/*
* Handle symbolic links with recursion. Yuck!
+ * Pass the NULL intent for recursive symlink
+ * except the last component.
*/
ND_INIT(&nameidata,
(nd->nd_flags | ND_NEGOK),