Whamcloud - gitweb
Branch: b1_5
authorwangdi <wangdi>
Thu, 1 Jun 2006 08:04:36 +0000 (08:04 +0000)
committerwangdi <wangdi>
Thu, 1 Jun 2006 08:04:36 +0000 (08:04 +0000)
Few fixes about fc5 build according to Andreas's advices

lustre/autoconf/lustre-core.m4
lustre/include/linux/lustre_mds.h
lustre/include/lustre_mds.h
lustre/mds/mds_lib.c
lustre/mds/mds_reint.c

index bc9079f..1d8694a 100644 (file)
@@ -490,6 +490,26 @@ LB_LINUX_TRY_COMPILE([
 ])
 
 #
+# LC_POSIX_ACL_XATTR
+#
+# If we have xattr_acl.h 
+#
+AC_DEFUN([LC_XATTR_ACL],
+[LB_CHECK_FILE([$LINUX/include/linux/xattr_acl.h],[
+       AC_MSG_CHECKING([if xattr_acl.h can be compiled])
+       LB_LINUX_TRY_COMPILE([
+               #include <linux/xattr_acl.h>
+       ],[],[
+               AC_MSG_RESULT([yes])
+               AC_DEFINE(HAVE_XATTR_ACL, 1, [Kernel has xattr_acl])
+       ],[
+               AC_MSG_RESULT([no])
+       ])
+],
+[])
+])
+
+#
 # LC_PROG_LINUX
 #
 # Lustre linux kernel checks
@@ -517,6 +537,7 @@ LC_FUNC_PAGE_MAPPED
 LC_STRUCT_FILE_OPS_UNLOCKED_IOCTL
 LC_FILEMAP_POPULATE
 LC_D_ADD_UNIQUE
+LC_XATTR_ACL
 ])
 
 #
index 449b63f..6c58556 100644 (file)
 # include <linux/fs.h>
 # include <linux/dcache.h>
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
-#include <linux/posix_acl_xattr.h>
-#else
+#ifdef HAVE_XATTR_ACL
 #include <linux/xattr_acl.h>        
+#else
+#include <linux/posix_acl_xattr.h>
 #endif
 #endif
 
index d91274b..85da7a4 100644 (file)
@@ -88,12 +88,12 @@ struct mds_file_data {
 
 /* ACL */
 #ifdef CONFIG_FS_POSIX_ACL
-# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
-#  define MDS_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
-#  define mds_xattr_acl_size(entry) posix_acl_xattr_size(entry)
-# else
+#ifdef HAVE_XATTR_ACL
 #  define MDS_XATTR_NAME_ACL_ACCESS XATTR_NAME_ACL_ACCESS
 #  define mds_xattr_acl_size(entry) xattr_acl_size(entry)
+# else
+#  define MDS_XATTR_NAME_ACL_ACCESS POSIX_ACL_XATTR_ACCESS
+#  define mds_xattr_acl_size(entry) posix_acl_xattr_size(entry)
 # endif
 # define LUSTRE_POSIX_ACL_MAX_ENTRIES   (32)
 # define LUSTRE_POSIX_ACL_MAX_SIZE      \
index 5d6145b..a0f0a7a 100644 (file)
@@ -115,11 +115,8 @@ static int mds_setattr_unpack(struct ptlrpc_request *req, int offset,
         LTIME_S(attr->ia_atime) = rec->sa_atime;
         LTIME_S(attr->ia_mtime) = rec->sa_mtime;
         LTIME_S(attr->ia_ctime) = rec->sa_ctime;
-#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,14))
-        attr->ia_attr_flags = rec->sa_attr_flags;
-#else
-        #warning "fix it later for fc5"
-#endif
+        r->ur_flags = rec->sa_attr_flags;
+
         LASSERT_REQSWAB (req, offset + 1);
         if (lustre_msg_bufcount(req->rq_reqmsg) > offset + 1) {
                 r->ur_eadata = lustre_msg_buf(req->rq_reqmsg, offset + 1, 0);
index c35d15b..8b4b3c9 100644 (file)
@@ -572,13 +572,8 @@ static int mds_reint_setattr(struct mds_update_record *rec, int offset,
                 GOTO(cleanup, rc);
 
         if (rec->ur_iattr.ia_valid & ATTR_ATTR_FLAG) {  /* ioctl */
-
-#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,14))
                 rc = fsfilt_iocontrol(obd, inode, NULL, EXT3_IOC_SETFLAGS,
-                                      (long)&rec->ur_iattr.ia_attr_flags);
-#else
-        #warning "fix it later for fc5"
-#endif
+                                      (long)&rec->ur_flags);
         } else if (rec->ur_iattr.ia_valid) {            /* setattr */
                 rc = fsfilt_setattr(obd, de, handle, &rec->ur_iattr, 0);
                 /* journal chown/chgrp in llog, just like unlink */