From: Peng Tao Date: Mon, 23 Jan 2012 06:32:44 +0000 (+0800) Subject: LU-709 build: cleanup LC_PAGE_CHECKED and LC_INODE_BLKSIZE X-Git-Tag: 2.2.92~12 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=8dd29b639f4f54aa7d1ca2767bf1eb7094c64392 LU-709 build: cleanup LC_PAGE_CHECKED and LC_INODE_BLKSIZE 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 Change-Id: Ic50941948ae409ea526108f43e1337db2141ae3d Reviewed-on: http://review.whamcloud.com/2323 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Yang Sheng Reviewed-by: Oleg Drokin --- diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 9e88d8c..6ba9205 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -516,57 +516,11 @@ EXTRA_KCFLAGS="$tmp_flags" #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 - #include -],[ - #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 -#ifdef HAVE_LINUX_MMTYPES_H - #include -#endif - #include -],[ - 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 # -# 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],[ @@ -586,24 +540,6 @@ AC_DEFUN([LC_LINUX_FIEMAP_H], # 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 -],[ - 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], @@ -1842,12 +1778,9 @@ AC_DEFUN([LC_PROG_LINUX], LC_UMOUNTBEGIN_HAS_VFSMOUNT #2.6.18 + RHEL5 (fc6) - LC_PG_FS_MISC - LC_PAGE_CHECKED LC_LINUX_FIEMAP_H # 2.6.19 - LC_INODE_BLKSIZE LC_FILE_WRITEV LC_FILE_READV diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h index 03d7a23..7e242ac 100644 --- a/lustre/include/linux/lustre_compat25.h +++ b/lustre/include/linux/lustre_compat25.h @@ -332,11 +332,7 @@ int ll_unregister_blkdev(unsigned int dev, const char *name) #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) -#endif #ifdef HAVE_FS_RENAME_DOES_D_MOVE #define LL_RENAME_DOES_D_MOVE FS_RENAME_DOES_D_MOVE diff --git a/lustre/llite/dir.c b/lustre/llite/dir.c index 137df4f..9bbf2ea 100644 --- a/lustre/llite/dir.c +++ b/lustre/llite/dir.c @@ -57,15 +57,6 @@ #include #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. * diff --git a/lustre/llite/file.c b/lustre/llite/file.c index 4d4d201..fa1a76a 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -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; -#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; diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index cc747c8..674f47a 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -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; } -#ifdef HAVE_INODE_BLKSIZE - inode->i_blksize = 1<i_blkbits; -#endif if (body->valid & OBD_MD_FLUID) inode->i_uid = body->uid; if (body->valid & OBD_MD_FLGID) diff --git a/lustre/obdclass/linux/linux-obdo.c b/lustre/obdclass/linux/linux-obdo.c index 3ca31f4..6892d1d 100644 --- a/lustre/obdclass/linux/linux-obdo.c +++ b/lustre/obdclass/linux/linux-obdo.c @@ -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); - /* 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) @@ -220,12 +212,8 @@ void obdo_to_inode(struct inode *dst, struct obdo *src, obd_flag valid) 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) diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 2db0ff2..00e3408 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -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_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,