Whamcloud - gitweb
LU-709 build: cleanup LC_PAGE_CHECKED and LC_INODE_BLKSIZE
authorPeng Tao <tao.peng@emc.com>
Mon, 23 Jan 2012 06:32:44 +0000 (14:32 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 26 Jul 2012 04:59:07 +0000 (00:59 -0400)
1. kernel has PageChecked() and SetPageChecked() since v2.6.18
2. struct inode doesn't have i_blksize since v2.6.18

Signed-off-by: Peng Tao <tao.peng@emc.com>
Change-Id: Ic50941948ae409ea526108f43e1337db2141ae3d
Reviewed-on: http://review.whamcloud.com/2323
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/autoconf/lustre-core.m4
lustre/include/linux/lustre_compat25.h
lustre/llite/dir.c
lustre/llite/file.c
lustre/llite/llite_lib.c
lustre/obdclass/linux/linux-obdo.c
lustre/osd-ldiskfs/osd_handler.c

index 9e88d8c..6ba9205 100644 (file)
@@ -516,57 +516,11 @@ EXTRA_KCFLAGS="$tmp_flags"
 
 #2.6.18 + RHEL5 (fc6)
 
 
 #2.6.18 + RHEL5 (fc6)
 
-# RHEL5 in FS-cache patch rename PG_checked flag into PG_fs_misc
-AC_DEFUN([LC_PG_FS_MISC],
-[AC_MSG_CHECKING([kernel has PG_fs_misc])
-LB_LINUX_TRY_COMPILE([
-        #include <linux/mm.h>
-        #include <linux/page-flags.h>
-],[
-        #ifndef PG_fs_misc
-        #error PG_fs_misc not defined in kernel
-        #endif
-],[
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_PG_FS_MISC, 1,
-                  [is kernel have PG_fs_misc])
-],[
-        AC_MSG_RESULT(no)
-])
-])
-
-# RHEL5 PageChecked and SetPageChecked defined
-AC_DEFUN([LC_PAGE_CHECKED],
-[AC_MSG_CHECKING([kernel has PageChecked and SetPageChecked])
-LB_LINUX_TRY_COMPILE([
-        #include <linux/mm.h>
-#ifdef HAVE_LINUX_MMTYPES_H
-        #include <linux/mm_types.h>
-#endif
-        #include <linux/page-flags.h>
-],[
-        struct page *p = NULL;
-
-        /* before 2.6.26 this define*/
-        #ifndef PageChecked    
-        /* 2.6.26 use function instead of define for it */
-        SetPageChecked(p);
-        PageChecked(p);
-        #endif
-],[
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_PAGE_CHECKED, 1,
-                  [does kernel have PageChecked and SetPageChecked])
-],[
-        AC_MSG_RESULT(no)
-])
-])
-
 #
 # LC_LINUX_FIEMAP_H
 #
 #
 # LC_LINUX_FIEMAP_H
 #
-# If we have fiemap.h
-# after 2.6.27 use fiemap.h in include/linux
+# fiemap.h is added since v2.6.28
+# RHEL5 2.6.18 has it, while SLES10 2.6.27 does not
 #
 AC_DEFUN([LC_LINUX_FIEMAP_H],
 [LB_CHECK_FILE([$LINUX/include/linux/fiemap.h],[
 #
 AC_DEFUN([LC_LINUX_FIEMAP_H],
 [LB_CHECK_FILE([$LINUX/include/linux/fiemap.h],[
@@ -586,24 +540,6 @@ AC_DEFUN([LC_LINUX_FIEMAP_H],
 
 # 2.6.19
 
 
 # 2.6.19
 
-# 2.6.19 API changes
-# inode don't have i_blksize field
-AC_DEFUN([LC_INODE_BLKSIZE],
-[AC_MSG_CHECKING([inode has i_blksize field])
-LB_LINUX_TRY_COMPILE([
-#include <linux/fs.h>
-],[
-       struct inode i;
-       i.i_blksize = 0;
-],[
-       AC_MSG_RESULT(yes)
-       AC_DEFINE(HAVE_INODE_BLKSIZE, 1,
-               [struct inode has i_blksize field])
-],[
-       AC_MSG_RESULT(no)
-])
-])
-
 # LC_FILE_WRITEV
 # 2.6.19 replaced writev with aio_write
 AC_DEFUN([LC_FILE_WRITEV],
 # LC_FILE_WRITEV
 # 2.6.19 replaced writev with aio_write
 AC_DEFUN([LC_FILE_WRITEV],
@@ -1842,12 +1778,9 @@ AC_DEFUN([LC_PROG_LINUX],
          LC_UMOUNTBEGIN_HAS_VFSMOUNT
 
          #2.6.18 + RHEL5 (fc6)
          LC_UMOUNTBEGIN_HAS_VFSMOUNT
 
          #2.6.18 + RHEL5 (fc6)
-         LC_PG_FS_MISC
-         LC_PAGE_CHECKED
          LC_LINUX_FIEMAP_H
 
          # 2.6.19
          LC_LINUX_FIEMAP_H
 
          # 2.6.19
-         LC_INODE_BLKSIZE
          LC_FILE_WRITEV
          LC_FILE_READV
 
          LC_FILE_WRITEV
          LC_FILE_READV
 
index 03d7a23..7e242ac 100644 (file)
@@ -332,11 +332,7 @@ int ll_unregister_blkdev(unsigned int dev, const char *name)
 #define ll_invalidate_bdev(a,b)         invalidate_bdev((a))
 #endif
 
 #define ll_invalidate_bdev(a,b)         invalidate_bdev((a))
 #endif
 
-#ifdef HAVE_INODE_BLKSIZE
-#define ll_inode_blksize(a)     (a)->i_blksize
-#else
 #define ll_inode_blksize(a)     (1<<(a)->i_blkbits)
 #define ll_inode_blksize(a)     (1<<(a)->i_blkbits)
-#endif
 
 #ifdef HAVE_FS_RENAME_DOES_D_MOVE
 #define LL_RENAME_DOES_D_MOVE   FS_RENAME_DOES_D_MOVE
 
 #ifdef HAVE_FS_RENAME_DOES_D_MOVE
 #define LL_RENAME_DOES_D_MOVE   FS_RENAME_DOES_D_MOVE
index 137df4f..9bbf2ea 100644 (file)
 #include <lustre_fid.h>
 #include "llite_internal.h"
 
 #include <lustre_fid.h>
 #include "llite_internal.h"
 
-#ifndef HAVE_PAGE_CHECKED
-#ifdef HAVE_PG_FS_MISC
-#define PageChecked(page)        test_bit(PG_fs_misc, &(page)->flags)
-#define SetPageChecked(page)     set_bit(PG_fs_misc, &(page)->flags)
-#else
-#error PageChecked or PageFsMisc not defined in kernel
-#endif
-#endif
-
 /*
  * (new) readdir implementation overview.
  *
 /*
  * (new) readdir implementation overview.
  *
index 4d4d201..fa1a76a 100644 (file)
@@ -2477,11 +2477,7 @@ int ll_getattr_it(struct vfsmount *mnt, struct dentry *de,
         stat->atime = inode->i_atime;
         stat->mtime = inode->i_mtime;
         stat->ctime = inode->i_ctime;
         stat->atime = inode->i_atime;
         stat->mtime = inode->i_mtime;
         stat->ctime = inode->i_ctime;
-#ifdef HAVE_INODE_BLKSIZE
-        stat->blksize = inode->i_blksize;
-#else
-        stat->blksize = 1 << inode->i_blkbits;
-#endif
+       stat->blksize = 1 << inode->i_blkbits;
 
         stat->size = i_size_read(inode);
         stat->blocks = inode->i_blocks;
 
         stat->size = i_size_read(inode);
         stat->blocks = inode->i_blocks;
index cc747c8..674f47a 100644 (file)
@@ -1674,9 +1674,6 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
         } else {
                 inode->i_blkbits = inode->i_sb->s_blocksize_bits;
         }
         } else {
                 inode->i_blkbits = inode->i_sb->s_blocksize_bits;
         }
-#ifdef HAVE_INODE_BLKSIZE
-        inode->i_blksize = 1<<inode->i_blkbits;
-#endif
         if (body->valid & OBD_MD_FLUID)
                 inode->i_uid = body->uid;
         if (body->valid & OBD_MD_FLGID)
         if (body->valid & OBD_MD_FLUID)
                 inode->i_uid = body->uid;
         if (body->valid & OBD_MD_FLGID)
index 3ca31f4..6892d1d 100644 (file)
@@ -166,20 +166,12 @@ void obdo_refresh_inode(struct inode *dst, struct obdo *src, obd_flag valid)
                 LTIME_S(dst->i_ctime) = src->o_ctime;
         if (valid & OBD_MD_FLSIZE)
                 i_size_write(dst, src->o_size);
                 LTIME_S(dst->i_ctime) = src->o_ctime;
         if (valid & OBD_MD_FLSIZE)
                 i_size_write(dst, src->o_size);
-        /* optimum IO size */
-        if (valid & OBD_MD_FLBLKSZ && src->o_blksize > (1 << dst->i_blkbits)) {
-                dst->i_blkbits = cfs_ffs(src->o_blksize) - 1;
-#ifdef HAVE_INODE_BLKSIZE
-                dst->i_blksize = src->o_blksize;
-#endif
-        }
+       /* optimum IO size */
+       if (valid & OBD_MD_FLBLKSZ && src->o_blksize > (1 << dst->i_blkbits))
+               dst->i_blkbits = cfs_ffs(src->o_blksize) - 1;
 
 
-        if (dst->i_blkbits < CFS_PAGE_SHIFT) {
-#ifdef HAVE_INODE_BLKSIZE
-                dst->i_blksize = CFS_PAGE_SIZE;
-#endif
-                dst->i_blkbits = CFS_PAGE_SHIFT;
-        }
+       if (dst->i_blkbits < CFS_PAGE_SHIFT)
+               dst->i_blkbits = CFS_PAGE_SHIFT;
 
         /* allocation of space */
         if (valid & OBD_MD_FLBLOCKS && src->o_blocks > dst->i_blocks)
 
         /* allocation of space */
         if (valid & OBD_MD_FLBLOCKS && src->o_blocks > dst->i_blocks)
@@ -220,12 +212,8 @@ void obdo_to_inode(struct inode *dst, struct obdo *src, obd_flag valid)
                         dst->i_blocks = -1;
 
         }
                         dst->i_blocks = -1;
 
         }
-        if (valid & OBD_MD_FLBLKSZ) {
-                dst->i_blkbits = cfs_ffs(src->o_blksize)-1;
-#ifdef HAVE_INODE_BLKSIZE
-                dst->i_blksize = src->o_blksize;
-#endif
-        }
+       if (valid & OBD_MD_FLBLKSZ)
+               dst->i_blkbits = cfs_ffs(src->o_blksize)-1;
         if (valid & OBD_MD_FLMODE)
                 dst->i_mode = (dst->i_mode & S_IFMT) | (src->o_mode & ~S_IFMT);
         if (valid & OBD_MD_FLUID)
         if (valid & OBD_MD_FLMODE)
                 dst->i_mode = (dst->i_mode & S_IFMT) | (src->o_mode & ~S_IFMT);
         if (valid & OBD_MD_FLUID)
index 2db0ff2..00e3408 100644 (file)
@@ -1424,8 +1424,8 @@ static void osd_inode_getattr(const struct lu_env *env,
         attr->la_flags      = LDISKFS_I(inode)->i_flags;
         attr->la_nlink      = inode->i_nlink;
         attr->la_rdev       = inode->i_rdev;
         attr->la_flags      = LDISKFS_I(inode)->i_flags;
         attr->la_nlink      = inode->i_nlink;
         attr->la_rdev       = inode->i_rdev;
-        attr->la_blksize    = ll_inode_blksize(inode);
-        attr->la_blkbits    = inode->i_blkbits;
+       attr->la_blksize    = 1 << inode->i_blkbits;
+       attr->la_blkbits    = inode->i_blkbits;
 }
 
 static int osd_attr_get(const struct lu_env *env,
 }
 
 static int osd_attr_get(const struct lu_env *env,