[Pkg-lustre-svn-commit] updated: [451621f] Updated to apply on 1.6.6
Patrick Winnertz
winnie at debian.org
Tue Dec 23 08:46:32 UTC 2008
The following commit has been merged in the master branch:
commit 451621f51c9879915eb47c6db7ec2acb429cc66d
Author: Patrick Winnertz <winnie at debian.org>
Date: Mon Dec 22 10:03:01 2008 +0100
Updated to apply on 1.6.6
diff --git a/debian/patches/00list b/debian/patches/00list
index c34d41d..d9f5cdc 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -10,21 +10,22 @@ no-darwin.dpatch
remove-set_tunables.dpatch
libsysio.dpatch
bug12769-ql-fix.dpatch
-patchless_support/configure_for_HEAD.dpatch
-patchless_support/fix_configure_RO_cache.dpatch
-patchless_support/fix_nfs_fid_type.dpatch
-patchless_support/fix_request_module_calls.dpatch
-patchless_support/lustre_loop_devices_adaption.dpatch
-patchless_support/nfs_changes_new_API.dpatch
-patchless_support/sysctl_update.dpatch
-patchless_support/configure_tests_2.6.27.dpatch
-patchless_support/fix_mmap.dpatch
-patchless_support/fix_path_API_changes.dpatch
-patchless_support/lprocfs_changes.dpatch
-patchless_support/new_page_fault_method.dpatch
-patchless_support/splice_read_support.dpatch
+#patchless_support/configure_for_HEAD.dpatch
+#patchless_support/fix_configure_RO_cache.dpatch
+#patchless_support/fix_nfs_fid_type.dpatch
+#patchless_support/fix_request_module_calls.dpatch
+#patchless_support/lustre_loop_devices_adaption.dpatch
+#patchless_support/nfs_changes_new_API.dpatch
+#patchless_support/sysctl_update.dpatch
+#patchless_support/configure_tests_2.6.27.dpatch
+#patchless_support/fix_mmap.dpatch
+#patchless_support/fix_path_API_changes.dpatch
+#patchless_support/lprocfs_changes.dpatch
+#patchless_support/new_page_fault_method.dpatch
+#patchless_support/splice_read_support.dpatch
#patchless_support_2.6.24_lnet_part.dpatch
#patchless_support_2.6.24_configure_part.dpatch
+patchless_support_2.6.24.dpatch
#server_support_2.6.27.dpatch
# Debian patches
bash_completion.dpatch
diff --git a/debian/patches/patchless_support/configure_for_HEAD.dpatch b/debian/patches/patchless_support/configure_for_HEAD.dpatch
index f67204b..d4eae95 100755
--- a/debian/patches/patchless_support/configure_for_HEAD.dpatch
+++ b/debian/patches/patchless_support/configure_for_HEAD.dpatch
@@ -5,29 +5,27 @@
## DP: Patch which will enable 2.6.24 patchless support for lustre, taken from #14250
@DPATCH@
-Index: HEAD/lustre/autoconf/lustre-core.m4
-===================================================================
---- HEAD.orig/lustre/autoconf/lustre-core.m4 2008-12-03 06:46:48.000000000 +0300
-+++ HEAD/lustre/autoconf/lustre-core.m4 2008-12-05 20:38:37.000000000 +0300
-@@ -1211,15 +1211,20 @@
+diff -urNad lustre~/lustre/autoconf/lustre-core.m4 lustre/lustre/autoconf/lustre-core.m4
+--- lustre~/lustre/autoconf/lustre-core.m4 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/autoconf/lustre-core.m4 2008-12-22 10:00:57.000000000 +0100
+@@ -1109,15 +1109,20 @@
AC_DEFUN([LC_PAGE_CHECKED],
[AC_MSG_CHECKING([kernel has PageChecked and SetPageChecked])
LB_LINUX_TRY_COMPILE([
- #include <linux/mm.h>
- #include <linux/page-flags.h>
--],[
++ #include <linux/autoconf.h>
++#ifdef HAVE_LINUX_MMTYPES_H
++ #include <linux/mm_types.h>
++#endif
++ #include <linux/page-flags.h>
+ ],[
- #ifndef PageChecked
- #error PageChecked not defined in kernel
- #endif
- #ifndef SetPageChecked
- #error SetPageChecked not defined in kernel
- #endif
-+ #include <linux/autoconf.h>
-+#ifdef HAVE_LINUX_MMTYPES_H
-+ #include <linux/mm_types.h>
-+#endif
-+ #include <linux/page-flags.h>
-+],[
+ struct page *p;
+
+ /* before 2.6.26 this define*/
@@ -39,7 +37,7 @@ Index: HEAD/lustre/autoconf/lustre-core.m4
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PAGE_CHECKED, 1,
-@@ -1380,11 +1385,149 @@
+@@ -1271,11 +1276,149 @@
# 2.6.23 extract nfs export related data into exportfs.h
AC_DEFUN([LC_HAVE_EXPORTFS_H],
@@ -194,38 +192,47 @@ Index: HEAD/lustre/autoconf/lustre-core.m4
])
#
-@@ -1661,6 +1804,19 @@
- LC_UNREGISTER_BLKDEV_RETURN_INT
- LC_KERNEL_SPLICE_READ
- LC_HAVE_EXPORTFS_H
-+ LC_VM_OP_FAULT
-+ LC_REGISTER_SHRINKER
+@@ -1370,13 +1513,27 @@
+ # raid5-zerocopy patch
+ LC_PAGE_CONSTANT
+
+- # 2.6.22
++ # 2.6.22
+ LC_INVALIDATE_BDEV_2ARG
+ LC_FS_RENAME_DOES_D_MOVE
+- # 2.6.23
++ # 2.6.23
+ LC_UNREGISTER_BLKDEV_RETURN_INT
+ LC_KERNEL_SPLICE_READ
+ LC_HAVE_EXPORTFS_H
++ LC_VM_OP_FAULT
++ LC_REGISTER_SHRINKER
+
+ # 2.6.24
-+ LC_HAVE_MMTYPES_H
++ LC_HAVE_MMTYPES_H
+ LC_BIO_ENDIO_2ARG
+ LC_FH_TO_DENTRY
+ LC_PROCFS_DELETED
+
-+ # 2.6.26
++ # 2.6.26
+ LC_FS_STRUCT_USE_PATH
+ LC_RCU_LIST_SAFE
+ LC_PATH_RELEASE
++
])
#
-@@ -1898,6 +2054,7 @@
+@@ -1609,6 +1766,7 @@
],[
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
])
+
],[
AC_MSG_RESULT([no])
])
-Index: HEAD/lustre/include/linux/lustre_compat25.h
-===================================================================
---- HEAD.orig/lustre/include/linux/lustre_compat25.h 2008-11-17 12:36:18.000000000 +0300
-+++ HEAD/lustre/include/linux/lustre_compat25.h 2008-12-05 20:36:56.000000000 +0300
+diff -urNad lustre~/lustre/include/linux/lustre_compat25.h lustre/lustre/include/linux/lustre_compat25.h
+--- lustre~/lustre/include/linux/lustre_compat25.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/linux/lustre_compat25.h 2008-12-22 10:02:32.000000000 +0100
@@ -57,6 +57,28 @@
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14) */
@@ -263,8 +270,8 @@ Index: HEAD/lustre/include/linux/lustre_compat25.h
#else
#define ll_set_fs_pwd set_fs_pwd
#endif /* HAVE_SET_FS_PWD */
-@@ -634,6 +657,57 @@
- #define cpu_to_node(cpu) 0
+@@ -590,5 +613,56 @@
+ vfs_rename(old,old_dir,new,new_dir)
#endif
+#ifdef HAVE_REGISTER_SHRINKER
@@ -318,6 +325,5 @@ Index: HEAD/lustre/include/linux/lustre_compat25.h
+#define list_for_each_safe_rcu(a,b,c) list_for_each_rcu(b, c)
+#endif
+
- #ifndef abs
- static inline int abs(int x)
- {
+ #endif /* __KERNEL__ */
+ #endif /* _COMPAT25_H */
diff --git a/debian/patches/patchless_support/fix_configure_RO_cache.dpatch b/debian/patches/patchless_support/fix_configure_RO_cache.dpatch
index 8e79f46..0c5664b 100755
--- a/debian/patches/patchless_support/fix_configure_RO_cache.dpatch
+++ b/debian/patches/patchless_support/fix_configure_RO_cache.dpatch
@@ -5,11 +5,10 @@
## DP: Patch which will enable 2.6.24 patchless support for lustre, taken from #14250
@DPATCH@
-Index: HEAD/lustre/autoconf/lustre-core.m4
-===================================================================
---- HEAD.orig/lustre/autoconf/lustre-core.m4 2008-12-05 20:38:37.000000000 +0300
-+++ HEAD/lustre/autoconf/lustre-core.m4 2008-12-05 21:22:40.000000000 +0300
-@@ -1349,6 +1349,9 @@
+diff -urNad lustre~/lustre/autoconf/lustre-core.m4 lustre/lustre/autoconf/lustre-core.m4
+--- lustre~/lustre/autoconf/lustre-core.m4 2008-12-22 10:08:29.000000000 +0100
++++ lustre/lustre/autoconf/lustre-core.m4 2008-12-22 10:08:29.000000000 +0100
+@@ -1240,6 +1240,9 @@
])
])
@@ -19,7 +18,7 @@ Index: HEAD/lustre/autoconf/lustre-core.m4
# 2.6.23 have return type 'void' for unregister_blkdev
AC_DEFUN([LC_UNREGISTER_BLKDEV_RETURN_INT],
[AC_MSG_CHECKING([if unregister_blkdev return int])
-@@ -1493,6 +1496,26 @@
+@@ -1384,6 +1387,26 @@
])
])
@@ -46,7 +45,7 @@ Index: HEAD/lustre/autoconf/lustre-core.m4
# 2.6.26 isn't export set_fs_pwd and change paramter in fs struct
AC_DEFUN([LC_FS_STRUCT_USE_PATH],
[AC_MSG_CHECKING([fs_struct use path structure])
-@@ -1812,6 +1835,9 @@
+@@ -1528,6 +1551,9 @@
LC_BIO_ENDIO_2ARG
LC_FH_TO_DENTRY
LC_PROCFS_DELETED
@@ -54,18 +53,5 @@ Index: HEAD/lustre/autoconf/lustre-core.m4
+ #2.6.25
+ LC_MAPPING_CAP_WRITEBACK_DIRTY
- # 2.6.26
+ # 2.6.26
LC_FS_STRUCT_USE_PATH
-Index: HEAD/lustre/include/linux/lustre_compat25.h
-===================================================================
---- HEAD.orig/lustre/include/linux/lustre_compat25.h 2008-12-05 20:36:56.000000000 +0300
-+++ HEAD/lustre/include/linux/lustre_compat25.h 2008-12-05 21:19:27.000000000 +0300
-@@ -342,7 +342,7 @@
- wbc.end = end;
- #endif
-
--#ifdef mapping_cap_writeback_dirty
-+#ifdef HAVE_MAPPING_CAP_WRITEBACK_DIRTY
- if (!mapping_cap_writeback_dirty(mapping))
- rc = 0;
- #else
diff --git a/debian/patches/patchless_support/fix_nfs_fid_type.dpatch b/debian/patches/patchless_support/fix_nfs_fid_type.dpatch
index ab5f1f9..222d358 100755
--- a/debian/patches/patchless_support/fix_nfs_fid_type.dpatch
+++ b/debian/patches/patchless_support/fix_nfs_fid_type.dpatch
@@ -5,11 +5,10 @@
## DP: Patch which will enable 2.6.24 patchless support for lustre, taken from #14250
@DPATCH@
-Index: b1_8_gate/lustre/llite/llite_internal.h
-===================================================================
---- b1_8_gate.orig/lustre/llite/llite_internal.h 2008-11-20 12:05:35.000000000 +0300
-+++ b1_8_gate/lustre/llite/llite_internal.h 2008-11-27 15:38:16.000000000 +0300
-@@ -861,9 +861,6 @@
+diff -urNad lustre~/lustre/llite/llite_internal.h lustre/lustre/llite/llite_internal.h
+--- lustre~/lustre/llite/llite_internal.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_internal.h 2008-12-22 10:13:32.000000000 +0100
+@@ -748,9 +748,6 @@
/* llite/llite_nfs.c */
extern struct export_operations lustre_export_operations;
__u32 get_uuid2int(const char *name, int len);
@@ -19,11 +18,22 @@ Index: b1_8_gate/lustre/llite/llite_internal.h
/* llite/special.c */
extern struct inode_operations ll_special_inode_operations;
-Index: b1_8_gate/lustre/llite/llite_nfs.c
-===================================================================
---- b1_8_gate.orig/lustre/llite/llite_nfs.c 2008-11-24 13:50:31.000000000 +0300
-+++ b1_8_gate/lustre/llite/llite_nfs.c 2008-11-27 15:39:24.000000000 +0300
-@@ -68,36 +68,30 @@
+diff -urNad lustre~/lustre/llite/llite_nfs.c lustre/lustre/llite/llite_nfs.c
+--- lustre~/lustre/llite/llite_nfs.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_nfs.c 2008-12-22 10:23:59.000000000 +0100
+@@ -57,11 +57,7 @@
+ return (key0 << 1);
+ }
+
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
+-static int ll_nfs_test_inode(struct inode *inode, unsigned long ino, void *opaque)
+-#else
+ static int ll_nfs_test_inode(struct inode *inode, void *opaque)
+-#endif
+ {
+ struct ll_fid *iid = opaque;
+
+@@ -72,36 +68,30 @@
}
static struct inode * search_inode_for_lustre(struct super_block *sb,
@@ -71,7 +81,7 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
RETURN(ERR_PTR(rc));
}
-@@ -111,27 +105,27 @@
+@@ -115,67 +105,35 @@
RETURN(inode);
}
@@ -82,6 +92,9 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
{
struct inode *inode;
struct dentry *result;
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
+- struct list_head *lp;
+-#endif
ENTRY;
- if (ino == 0)
@@ -91,10 +104,9 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
- inode = search_inode_for_lustre(sb, ino, generation, mode);
- if (IS_ERR(inode)) {
+ inode = search_inode_for_lustre(sb, iid);
-+ if (IS_ERR(inode))
++ if (IS_ERR(inode))
RETURN(ERR_PTR(PTR_ERR(inode)));
- }
-+
if (is_bad_inode(inode) ||
- (generation && inode->i_generation != generation)){
+ (iid->generation && inode->i_generation != iid->generation)) {
@@ -107,7 +119,44 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
iput(inode);
RETURN(ERR_PTR(-ESTALE));
}
-@@ -146,57 +140,102 @@
+
+-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
+ result = d_alloc_anon(inode);
+ if (!result) {
+ iput(inode);
+ RETURN(ERR_PTR(-ENOMEM));
+ }
+-#else
+- /* now to find a dentry.
+- * If possible, get a well-connected one
+- */
+- spin_lock(&dcache_lock);
+- for (lp = inode->i_dentry.next; lp != &inode->i_dentry ; lp=lp->next) {
+- result = list_entry(lp,struct dentry, d_alias);
+- lock_dentry(result);
+- if (!(result->d_flags & DCACHE_DISCONNECTED)) {
+- dget_locked(result);
+- ll_set_dflags(result, DCACHE_REFERENCED);
+- unlock_dentry(result);
+- spin_unlock(&dcache_lock);
+- iput(inode);
+- RETURN(result);
+- }
+- unlock_dentry(result);
+- }
+- spin_unlock(&dcache_lock);
+- result = d_alloc_root(inode);
+- if (result == NULL) {
+- iput(inode);
+- RETURN(ERR_PTR(-ENOMEM));
+- }
+- result->d_flags |= DCACHE_DISCONNECTED;
+-
+-#endif
+ ll_set_dd(result);
+
+ lock_dentry(result);
+@@ -192,57 +150,98 @@
RETURN(result);
}
@@ -128,7 +177,22 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
+ */
+static int ll_encode_fh(struct dentry *de, __u32 *fh, int *plen,
+ int connectable)
-+{
+ {
+- switch (fhtype) {
+- case 2:
+- if (len < 5)
+- break;
+- if (parent)
+- return ll_iget_for_nfs(sb, data[3], 0, data[4]);
+- case 1:
+- if (len < 3)
+- break;
+- if (parent)
+- break;
+- return ll_iget_for_nfs(sb, data[0], data[1], data[2]);
+- default: break;
+- }
+- return ERR_PTR(-EINVAL);
+ struct inode *inode = de->d_inode;
+ struct inode *parent = de->d_parent->d_inode;
+ struct lustre_nfs_fid *nfs_fid = (void *)fh;
@@ -148,46 +212,50 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
+ *plen = sizeof(struct lustre_nfs_fid);
+
+ RETURN(LUSTRE_NFS_FID);
-+}
-+
+ }
+
+-int ll_dentry_to_fh(struct dentry *dentry, __u32 *datap, int *lenp,
+- int need_parent)
+#ifdef HAVE_FH_TO_DENTRY
+static struct dentry *ll_fh_to_dentry(struct super_block *sb, struct fid *fid,
+ int fh_len, int fh_type)
{
-- switch (fhtype) {
-- case 2:
-- if (len < 5)
-- break;
-- if (parent)
-- return ll_iget_for_nfs(sb, data[3], 0, data[4]);
-- case 1:
-- if (len < 3)
-- break;
-- if (parent)
-- break;
-- return ll_iget_for_nfs(sb, data[0], data[1], data[2]);
-- default: break;
-- }
-- return ERR_PTR(-EINVAL);
+- if (*lenp < 3)
+- return 255;
+- *datap++ = dentry->d_inode->i_ino;
+- *datap++ = dentry->d_inode->i_generation;
+- *datap++ = (__u32)(S_IFMT & dentry->d_inode->i_mode);
+ struct lustre_nfs_fid *nfs_fid = (struct lustre_nfs_fid *)fid;
-+
+
+- if (*lenp == 3 || S_ISDIR(dentry->d_inode->i_mode)) {
+- *lenp = 3;
+- return 1;
+- }
+- if (dentry->d_parent) {
+- *datap++ = dentry->d_parent->d_inode->i_ino;
+- *datap++ = (__u32)(S_IFMT & dentry->d_parent->d_inode->i_mode);
+ if (fh_type != LUSTRE_NFS_FID)
+ RETURN(ERR_PTR(-EINVAL));
-+
+
+- *lenp = 5;
+- return 2;
+- }
+- *lenp = 3;
+- return 1;
+ RETURN(ll_iget_for_nfs(sb, &nfs_fid->child));
-+}
+ }
+static struct dentry *ll_fh_to_parent(struct super_block *sb, struct fid *fid,
+ int fh_len, int fh_type)
+{
+ struct lustre_nfs_fid *nfs_fid = (struct lustre_nfs_fid *)fid;
-+
+
+-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
+-struct dentry *ll_get_dentry(struct super_block *sb, void *data)
+ if (fh_type != LUSTRE_NFS_FID)
+ RETURN(ERR_PTR(-EINVAL));
+ RETURN(ll_iget_for_nfs(sb, &nfs_fid->parent));
- }
-
--int ll_dentry_to_fh(struct dentry *dentry, __u32 *datap, int *lenp,
-- int need_parent)
++}
++
+#else
+/*
+ * This length is counted as amount of __u32,
@@ -198,30 +266,15 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
+ int (*acceptable)(void *, struct dentry *),
+ void *context)
{
-- if (*lenp < 3)
-- return 255;
-- *datap++ = dentry->d_inode->i_ino;
-- *datap++ = dentry->d_inode->i_generation;
-- *datap++ = (__u32)(S_IFMT & dentry->d_inode->i_mode);
+- __u32 *inump = (__u32*)data;
+- return ll_iget_for_nfs(sb, inump[0], inump[1], S_IFREG);
+ struct lustre_nfs_fid *nfs_fid = (void *)fh;
+ struct dentry *entry;
+ ENTRY;
-
-- if (*lenp == 3 || S_ISDIR(dentry->d_inode->i_mode)) {
-- *lenp = 3;
-- return 1;
-- }
-- if (dentry->d_parent) {
-- *datap++ = dentry->d_parent->d_inode->i_ino;
-- *datap++ = (__u32)(S_IFMT & dentry->d_parent->d_inode->i_mode);
++
+ CDEBUG(D_INFO, "decoding for "LPU64" fh_len=%d fh_type=%x\n",
+ nfs_fid->child.id, fh_len, fh_type);
-
-- *lenp = 5;
-- return 2;
-- }
-- *lenp = 3;
-- return 1;
++
+ if (fh_type != LUSTRE_NFS_FID)
+ RETURN(ERR_PTR(-ESTALE));
+
@@ -231,25 +284,18 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
+ RETURN(entry);
}
--#if THREAD_SIZE >= 8192
-+
- struct dentry *ll_get_dentry(struct super_block *sb, void *data)
- {
-- __u32 *inump = (__u32*)data;
-- return ll_iget_for_nfs(sb, inump[0], inump[1], S_IFREG);
++struct dentry *ll_get_dentry(struct super_block *sb, void *data)
++{
+ struct lustre_nfs_fid *fid = data;
+ ENTRY;
+
+ RETURN(ll_iget_for_nfs(sb, &fid->child));
-+
- }
-
++}
+#endif
-+
struct dentry *ll_get_parent(struct dentry *dchild)
{
struct ptlrpc_request *req = NULL;
-@@ -208,11 +247,11 @@
+@@ -254,11 +253,11 @@
char dotdot[] = "..";
int rc = 0;
ENTRY;
@@ -265,7 +311,7 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
fid.id = (__u64)dir->i_ino;
fid.generation = dir->i_generation;
fid.f_type = S_IFDIR;
-@@ -223,11 +262,12 @@
+@@ -269,11 +268,12 @@
CERROR("failure %d inode %lu get parent\n", rc, dir->i_ino);
return ERR_PTR(rc);
}
@@ -282,14 +328,14 @@ Index: b1_8_gate/lustre/llite/llite_nfs.c
if (IS_ERR(result))
rc = PTR_ERR(result);
-@@ -236,10 +276,18 @@
+@@ -282,10 +282,18 @@
if (rc)
return ERR_PTR(rc);
RETURN(result);
-}
+}
-+
++
+#if THREAD_SIZE >= 8192
struct export_operations lustre_export_operations = {
- .get_parent = ll_get_parent,
diff --git a/debian/patches/patchless_support_2.6.24.dpatch b/debian/patches/patchless_support_2.6.24.dpatch
index db522c9..88c756a 100755
--- a/debian/patches/patchless_support_2.6.24.dpatch
+++ b/debian/patches/patchless_support_2.6.24.dpatch
@@ -5,10 +5,10 @@
## DP: Patch which will enable 2.6.24 patchless support for lustre, taken from #14250
@DPATCH@
-diff -urNad trunk~/lnet/autoconf/lustre-lnet.m4 trunk/lnet/autoconf/lustre-lnet.m4
---- trunk~/lnet/autoconf/lustre-lnet.m4 2008-06-26 06:43:33.000000000 +0200
-+++ trunk/lnet/autoconf/lustre-lnet.m4 2008-10-07 13:30:45.000000000 +0200
-@@ -1263,6 +1263,41 @@
+diff -urNad lustre~/lnet/autoconf/lustre-lnet.m4 lustre/lnet/autoconf/lustre-lnet.m4
+--- lustre~/lnet/autoconf/lustre-lnet.m4 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/autoconf/lustre-lnet.m4 2008-12-22 10:43:33.000000000 +0100
+@@ -1290,6 +1290,41 @@
])
])
@@ -50,7 +50,7 @@ diff -urNad trunk~/lnet/autoconf/lustre-lnet.m4 trunk/lnet/autoconf/lustre-lnet.
#
# LN_PROG_LINUX
#
-@@ -1305,6 +1340,9 @@
+@@ -1333,6 +1368,9 @@
LN_KMEM_CACHE
# 2.6.23
LN_KMEM_CACHE_CREATE_DTOR
@@ -60,10 +60,10 @@ diff -urNad trunk~/lnet/autoconf/lustre-lnet.m4 trunk/lnet/autoconf/lustre-lnet.
])
#
-diff -urNad trunk~/lnet/include/libcfs/curproc.h trunk/lnet/include/libcfs/curproc.h
---- trunk~/lnet/include/libcfs/curproc.h 2007-02-10 01:04:30.000000000 +0100
-+++ trunk/lnet/include/libcfs/curproc.h 2008-10-07 13:30:45.000000000 +0200
-@@ -49,6 +49,11 @@
+diff -urNad lustre~/lnet/include/libcfs/curproc.h lustre/lnet/include/libcfs/curproc.h
+--- lustre~/lnet/include/libcfs/curproc.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/include/libcfs/curproc.h 2008-12-22 10:43:33.000000000 +0100
+@@ -72,6 +72,11 @@
*/
cfs_kernel_cap_t cfs_curproc_cap_get(void);
void cfs_curproc_cap_set(cfs_kernel_cap_t cap);
@@ -75,10 +75,10 @@ diff -urNad trunk~/lnet/include/libcfs/curproc.h trunk/lnet/include/libcfs/curpr
#endif
/* __LIBCFS_CURPROC_H__ */
-diff -urNad trunk~/lnet/include/libcfs/linux/linux-prim.h trunk/lnet/include/libcfs/linux/linux-prim.h
---- trunk~/lnet/include/libcfs/linux/linux-prim.h 2008-01-14 02:12:18.000000000 +0100
-+++ trunk/lnet/include/libcfs/linux/linux-prim.h 2008-10-07 13:30:45.000000000 +0200
-@@ -68,6 +68,17 @@
+diff -urNad lustre~/lnet/include/libcfs/linux/linux-prim.h lustre/lnet/include/libcfs/linux/linux-prim.h
+--- lustre~/lnet/include/libcfs/linux/linux-prim.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/include/libcfs/linux/linux-prim.h 2008-12-22 10:43:33.000000000 +0100
+@@ -84,6 +84,17 @@
#endif
#define cfs_unregister_sysctl_table(t) unregister_sysctl_table(t)
@@ -96,10 +96,10 @@ diff -urNad trunk~/lnet/include/libcfs/linux/linux-prim.h trunk/lnet/include/lib
/*
* Symbol register
*/
-diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_module.c
---- trunk~/lnet/klnds/gmlnd/gmlnd_module.c 2007-09-27 04:30:24.000000000 +0200
-+++ trunk/lnet/klnds/gmlnd/gmlnd_module.c 2008-10-07 13:30:45.000000000 +0200
-@@ -62,9 +62,37 @@
+diff -urNad lustre~/lnet/klnds/gmlnd/gmlnd_module.c lustre/lnet/klnds/gmlnd/gmlnd_module.c
+--- lustre~/lnet/klnds/gmlnd/gmlnd_module.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/gmlnd/gmlnd_module.c 2008-12-22 10:43:33.000000000 +0100
+@@ -78,9 +78,37 @@
};
#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
@@ -138,7 +138,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "port",
.data = &port,
.maxlen = sizeof (int),
-@@ -72,7 +100,7 @@
+@@ -88,7 +116,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -147,7 +147,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof (int),
-@@ -80,7 +108,7 @@
+@@ -96,7 +124,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -156,7 +156,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "credits",
.data = &credits,
.maxlen = sizeof (int),
-@@ -88,7 +116,7 @@
+@@ -104,7 +132,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -165,7 +165,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof (int),
-@@ -96,7 +124,7 @@
+@@ -112,7 +140,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -174,7 +174,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "nlarge_tx_bufs",
.data = &nlarge_tx_bufs,
.maxlen = sizeof (int),
-@@ -104,7 +132,7 @@
+@@ -120,7 +148,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -183,7 +183,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "nrx_small",
.data = &nrx_small,
.maxlen = sizeof (int),
-@@ -112,7 +140,7 @@
+@@ -128,7 +156,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -192,7 +192,7 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "nrx_large",
.data = &nrx_large,
.maxlen = sizeof (int),
-@@ -124,7 +152,7 @@
+@@ -140,7 +168,7 @@
static cfs_sysctl_table_t gmnal_top_ctl_table[] = {
{
@@ -201,10 +201,10 @@ diff -urNad trunk~/lnet/klnds/gmlnd/gmlnd_module.c trunk/lnet/klnds/gmlnd/gmlnd_
.procname = "gmnal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/iiblnd_modparams.c
---- trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c 2007-09-10 17:35:53.000000000 +0200
-+++ trunk/lnet/klnds/iiblnd/iiblnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -102,9 +102,50 @@
+diff -urNad lustre~/lnet/klnds/iiblnd/iiblnd_modparams.c lustre/lnet/klnds/iiblnd/iiblnd_modparams.c
+--- lustre~/lnet/klnds/iiblnd/iiblnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/iiblnd/iiblnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -119,9 +119,50 @@
* not to truncate the printout; it only needs to be the actual size of the
* string buffer if we allow writes (and we don't) */
@@ -256,7 +256,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "ipif_basename",
.data = &ipif_basename,
.maxlen = 1024,
-@@ -112,7 +153,7 @@
+@@ -129,7 +170,7 @@
.proc_handler = &proc_dostring
},
{
@@ -265,7 +265,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "service_name",
.data = &service_name,
.maxlen = 1024,
-@@ -120,7 +161,7 @@
+@@ -137,7 +178,7 @@
.proc_handler = &proc_dostring
},
{
@@ -274,7 +274,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "service_number",
.data = &service_number,
.maxlen = sizeof(int),
-@@ -128,7 +169,7 @@
+@@ -145,7 +186,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -283,7 +283,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "min_reconnect_interval",
.data = &min_reconnect_interval,
.maxlen = sizeof(int),
-@@ -136,7 +177,7 @@
+@@ -153,7 +194,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -292,7 +292,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "max_reconnect_interval",
.data = &max_reconnect_interval,
.maxlen = sizeof(int),
-@@ -144,7 +185,7 @@
+@@ -161,7 +202,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -301,7 +301,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "concurrent_peers",
.data = &concurrent_peers,
.maxlen = sizeof(int),
-@@ -152,7 +193,7 @@
+@@ -169,7 +210,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -310,7 +310,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "cksum",
.data = &cksum,
.maxlen = sizeof(int),
-@@ -160,7 +201,7 @@
+@@ -177,7 +218,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -319,7 +319,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -168,7 +209,7 @@
+@@ -185,7 +226,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -328,7 +328,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -176,7 +217,7 @@
+@@ -193,7 +234,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -337,7 +337,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -184,7 +225,7 @@
+@@ -201,7 +242,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -346,7 +346,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
-@@ -192,7 +233,7 @@
+@@ -209,7 +250,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -355,7 +355,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "sd_retries",
.data = &sd_retries,
.maxlen = sizeof(int),
-@@ -200,7 +241,7 @@
+@@ -217,7 +258,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -364,7 +364,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "keepalive",
.data = &keepalive,
.maxlen = sizeof(int),
-@@ -208,7 +249,7 @@
+@@ -225,7 +266,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -373,7 +373,7 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "concurrent_sends",
.data = &concurrent_sends,
.maxlen = sizeof(int),
-@@ -220,7 +261,7 @@
+@@ -237,7 +278,7 @@
static cfs_sysctl_table_t kibnal_top_ctl_table[] = {
{
@@ -382,13 +382,13 @@ diff -urNad trunk~/lnet/klnds/iiblnd/iiblnd_modparams.c trunk/lnet/klnds/iiblnd/
.procname = "openibnal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd.h trunk/lnet/klnds/o2iblnd/o2iblnd.h
---- trunk~/lnet/klnds/o2iblnd/o2iblnd.h 2008-03-14 19:18:05.000000000 +0100
-+++ trunk/lnet/klnds/o2iblnd/o2iblnd.h 2008-10-07 13:30:45.000000000 +0200
-@@ -759,3 +759,13 @@
-
-
-
+diff -urNad lustre~/lnet/klnds/o2iblnd/o2iblnd.h lustre/lnet/klnds/o2iblnd/o2iblnd.h
+--- lustre~/lnet/klnds/o2iblnd/o2iblnd.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/o2iblnd/o2iblnd.h 2008-12-22 10:44:38.000000000 +0100
+@@ -773,3 +773,13 @@
+ int kiblnd_recv(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, int delayed,
+ unsigned int niov, struct iovec *iov, lnet_kiov_t *kiov,
+ unsigned int offset, unsigned int mlen, unsigned int rlen);
+/* compat macros */
+#ifndef HAVE_SCATTERLIST_SETPAGE
+static inline void sg_set_page(struct scatterlist *sg, struct page *page,
@@ -399,10 +399,10 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd.h trunk/lnet/klnds/o2iblnd/o2iblnd
+ sg->length = len;
+}
+#endif
-diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_cb.c trunk/lnet/klnds/o2iblnd/o2iblnd_cb.c
---- trunk~/lnet/klnds/o2iblnd/o2iblnd_cb.c 2008-03-28 08:12:34.000000000 +0100
-+++ trunk/lnet/klnds/o2iblnd/o2iblnd_cb.c 2008-10-07 13:30:45.000000000 +0200
-@@ -626,9 +626,7 @@
+diff -urNad lustre~/lnet/klnds/o2iblnd/o2iblnd_cb.c lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c
+--- lustre~/lnet/klnds/o2iblnd/o2iblnd_cb.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c 2008-12-22 10:43:33.000000000 +0100
+@@ -643,9 +643,7 @@
fragnob = min((int)(iov->iov_len - offset), nob);
fragnob = min(fragnob, (int)PAGE_SIZE - page_offset);
@@ -413,7 +413,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_cb.c trunk/lnet/klnds/o2iblnd/o2ib
sg++;
if (offset + fragnob < iov->iov_len) {
-@@ -691,11 +689,10 @@
+@@ -708,11 +706,10 @@
fragnob = min((int)(kiov->kiov_len - offset), nob);
memset(sg, 0, sizeof(*sg));
@@ -428,10 +428,10 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_cb.c trunk/lnet/klnds/o2iblnd/o2ib
offset = 0;
kiov++;
nkiov--;
-diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2iblnd/o2iblnd_modparams.c
---- trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c 2007-09-10 17:35:53.000000000 +0200
-+++ trunk/lnet/klnds/o2iblnd/o2iblnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -113,9 +113,51 @@
+diff -urNad lustre~/lnet/klnds/o2iblnd/o2iblnd_modparams.c lustre/lnet/klnds/o2iblnd/o2iblnd_modparams.c
+--- lustre~/lnet/klnds/o2iblnd/o2iblnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/o2iblnd/o2iblnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -130,9 +130,51 @@
static char ipif_basename_space[32];
@@ -484,7 +484,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "service",
.data = &service,
.maxlen = sizeof(int),
-@@ -123,7 +165,7 @@
+@@ -140,7 +182,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -493,7 +493,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "cksum",
.data = &cksum,
.maxlen = sizeof(int),
-@@ -131,7 +173,7 @@
+@@ -148,7 +190,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -502,7 +502,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -139,7 +181,7 @@
+@@ -156,7 +198,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -511,7 +511,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -147,7 +189,7 @@
+@@ -164,7 +206,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -520,7 +520,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -155,7 +197,7 @@
+@@ -172,7 +214,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -529,7 +529,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
-@@ -163,7 +205,7 @@
+@@ -180,7 +222,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -538,7 +538,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "ipif_name",
.data = ipif_basename_space,
.maxlen = sizeof(ipif_basename_space),
-@@ -171,7 +213,7 @@
+@@ -188,7 +230,7 @@
.proc_handler = &proc_dostring
},
{
@@ -547,7 +547,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "retry_count",
.data = &retry_count,
.maxlen = sizeof(int),
-@@ -179,7 +221,7 @@
+@@ -196,7 +238,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -556,7 +556,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "rnr_retry_count",
.data = &rnr_retry_count,
.maxlen = sizeof(int),
-@@ -187,7 +229,7 @@
+@@ -204,7 +246,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -565,7 +565,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "keepalive",
.data = &keepalive,
.maxlen = sizeof(int),
-@@ -195,7 +237,7 @@
+@@ -212,7 +254,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -574,7 +574,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "concurrent_sends",
.data = &concurrent_sends,
.maxlen = sizeof(int),
-@@ -203,7 +245,7 @@
+@@ -220,7 +262,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -583,7 +583,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "ib_mtu",
.data = &ib_mtu,
.maxlen = sizeof(int),
-@@ -212,7 +254,7 @@
+@@ -229,7 +271,7 @@
},
#if IBLND_MAP_ON_DEMAND
{
@@ -592,7 +592,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "fmr_pool_size",
.data = &fmr_pool_size,
.maxlen = sizeof(int),
-@@ -220,7 +262,7 @@
+@@ -237,7 +279,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -601,7 +601,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "fmr_flush_trigger",
.data = &fmr_flush_trigger,
.maxlen = sizeof(int),
-@@ -228,7 +270,7 @@
+@@ -245,7 +287,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -610,7 +610,7 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "fmr_cache",
.data = &fmr_cache,
.maxlen = sizeof(int),
-@@ -241,7 +283,7 @@
+@@ -258,7 +300,7 @@
static cfs_sysctl_table_t kiblnd_top_ctl_table[] = {
{
@@ -619,10 +619,10 @@ diff -urNad trunk~/lnet/klnds/o2iblnd/o2iblnd_modparams.c trunk/lnet/klnds/o2ibl
.procname = "o2iblnd",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/openiblnd/openiblnd_modparams.c
---- trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c 2007-09-10 17:35:54.000000000 +0200
-+++ trunk/lnet/klnds/openiblnd/openiblnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -83,9 +83,42 @@
+diff -urNad lustre~/lnet/klnds/openiblnd/openiblnd_modparams.c lustre/lnet/klnds/openiblnd/openiblnd_modparams.c
+--- lustre~/lnet/klnds/openiblnd/openiblnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/openiblnd/openiblnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -100,9 +100,42 @@
#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
@@ -666,7 +666,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "ipif_basename",
.data = &ipif_basename,
.maxlen = 1024,
-@@ -93,7 +126,7 @@
+@@ -110,7 +143,7 @@
.proc_handler = &proc_dostring
},
{
@@ -675,7 +675,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "n_connd",
.data = &n_connd,
.maxlen = sizeof(int),
-@@ -101,7 +134,7 @@
+@@ -118,7 +151,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -684,7 +684,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "min_reconnect_interval",
.data = &min_reconnect_interval,
.maxlen = sizeof(int),
-@@ -109,7 +142,7 @@
+@@ -126,7 +159,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -693,7 +693,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "max_reconnect_interval",
.data = &max_reconnect_interval,
.maxlen = sizeof(int),
-@@ -117,7 +150,7 @@
+@@ -134,7 +167,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -702,7 +702,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "concurrent_peers",
.data = &concurrent_peers,
.maxlen = sizeof(int),
-@@ -125,7 +158,7 @@
+@@ -142,7 +175,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -711,7 +711,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "cksum",
.data = &cksum,
.maxlen = sizeof(int),
-@@ -133,7 +166,7 @@
+@@ -150,7 +183,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -720,7 +720,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -141,7 +174,7 @@
+@@ -158,7 +191,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -729,7 +729,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -149,7 +182,7 @@
+@@ -166,7 +199,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -738,7 +738,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -157,7 +190,7 @@
+@@ -174,7 +207,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -747,7 +747,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
-@@ -165,7 +198,7 @@
+@@ -182,7 +215,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -756,7 +756,7 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "keepalive",
.data = &keepalive,
.maxlen = sizeof(int),
-@@ -177,7 +210,7 @@
+@@ -194,7 +227,7 @@
static cfs_sysctl_table_t kibnal_top_ctl_table[] = {
{
@@ -765,10 +765,10 @@ diff -urNad trunk~/lnet/klnds/openiblnd/openiblnd_modparams.c trunk/lnet/klnds/o
.procname = "openibnal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/ptllnd_modparams.c
---- trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c 2007-09-27 04:30:24.000000000 +0200
-+++ trunk/lnet/klnds/ptllnd/ptllnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -134,9 +134,54 @@
+diff -urNad lustre~/lnet/klnds/ptllnd/ptllnd_modparams.c lustre/lnet/klnds/ptllnd/ptllnd_modparams.c
+--- lustre~/lnet/klnds/ptllnd/ptllnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/ptllnd/ptllnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -156,9 +156,54 @@
}
#endif
@@ -824,7 +824,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -144,15 +189,15 @@
+@@ -166,15 +211,15 @@
.proc_handler = &proc_dointvec
},
{
@@ -843,7 +843,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "max_procs_per_node",
.data = &max_procs_per_node,
.maxlen = sizeof(int),
-@@ -160,7 +205,7 @@
+@@ -182,7 +227,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -852,7 +852,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "checksum",
.data = &checksum,
.maxlen = sizeof(int),
-@@ -168,7 +213,7 @@
+@@ -190,7 +235,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -861,7 +861,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -176,7 +221,7 @@
+@@ -198,7 +243,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -870,7 +870,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "portal",
.data = &portal,
.maxlen = sizeof(int),
-@@ -184,7 +229,7 @@
+@@ -206,7 +251,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -879,7 +879,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "pid",
.data = &pid,
.maxlen = sizeof(int),
-@@ -192,7 +237,7 @@
+@@ -214,7 +259,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -888,7 +888,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "rxb_npages",
.data = &rxb_npages,
.maxlen = sizeof(int),
-@@ -200,7 +245,7 @@
+@@ -222,7 +267,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -897,7 +897,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -208,7 +253,7 @@
+@@ -230,7 +275,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -906,7 +906,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "peercredits",
.data = &peercredits,
.maxlen = sizeof(int),
-@@ -216,7 +261,7 @@
+@@ -238,7 +283,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -915,7 +915,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "max_msg_size",
.data = &max_msg_size,
.maxlen = sizeof(int),
-@@ -224,7 +269,7 @@
+@@ -246,7 +291,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -924,7 +924,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "peer_hash_table_size",
.data = &peer_hash_table_size,
.maxlen = sizeof(int),
-@@ -232,7 +277,7 @@
+@@ -254,7 +299,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -933,7 +933,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "reschedule_loops",
.data = &reschedule_loops,
.maxlen = sizeof(int),
-@@ -240,7 +285,7 @@
+@@ -262,7 +307,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -942,7 +942,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "ack_puts",
.data = &ack_puts,
.maxlen = sizeof(int),
-@@ -249,7 +294,7 @@
+@@ -271,7 +316,7 @@
},
#ifdef CRAY_XT3
{
@@ -951,7 +951,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "ptltrace_on_timeout",
.data = &ptltrace_on_timeout,
.maxlen = sizeof(int),
-@@ -257,7 +302,7 @@
+@@ -279,7 +324,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -960,7 +960,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "ptltrace_basename",
.data = ptltrace_basename_space,
.maxlen = sizeof(ptltrace_basename_space),
-@@ -268,7 +313,7 @@
+@@ -290,7 +335,7 @@
#endif
#ifdef PJK_DEBUGGING
{
@@ -969,7 +969,7 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "simulation_bitmap",
.data = &simulation_bitmap,
.maxlen = sizeof(int),
-@@ -282,7 +327,7 @@
+@@ -304,7 +349,7 @@
static cfs_sysctl_table_t kptllnd_top_ctl_table[] = {
{
@@ -978,18 +978,10 @@ diff -urNad trunk~/lnet/klnds/ptllnd/ptllnd_modparams.c trunk/lnet/klnds/ptllnd/
.procname = "ptllnd",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/qswlnd_modparams.c
---- trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c 2007-09-10 17:35:55.000000000 +0200
-+++ trunk/lnet/klnds/qswlnd/qswlnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -1,4 +1,7 @@
- /*
-+ * -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
-+ * vim:expandtab:shiftwidth=8:tabstop=8:
-+ *
- * Copyright (C) 2002-2004 Cluster File Systems, Inc.
- * Author: Eric Barton <eric at bartonsoftware.com>
- *
-@@ -84,9 +87,45 @@
+diff -urNad lustre~/lnet/klnds/qswlnd/qswlnd_modparams.c lustre/lnet/klnds/qswlnd/qswlnd_modparams.c
+--- lustre~/lnet/klnds/qswlnd/qswlnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/qswlnd/qswlnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -87,9 +87,45 @@
};
#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
@@ -1036,7 +1028,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "tx_maxcontig",
.data = &tx_maxcontig,
.maxlen = sizeof (int),
-@@ -94,7 +133,7 @@
+@@ -97,7 +133,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1045,7 +1037,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "ntxmsgs",
.data = &ntxmsgs,
.maxlen = sizeof (int),
-@@ -102,7 +141,7 @@
+@@ -105,7 +141,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1054,7 +1046,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "credits",
.data = &credits,
.maxlen = sizeof (int),
-@@ -110,7 +149,7 @@
+@@ -113,7 +149,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1063,7 +1055,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof (int),
-@@ -118,7 +157,7 @@
+@@ -121,7 +157,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1072,7 +1064,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "nrxmsgs_large",
.data = &nrxmsgs_large,
.maxlen = sizeof (int),
-@@ -126,7 +165,7 @@
+@@ -129,7 +165,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1081,7 +1073,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "ep_envelopes_large",
.data = &ep_envelopes_large,
.maxlen = sizeof (int),
-@@ -134,7 +173,7 @@
+@@ -137,7 +173,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1090,7 +1082,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "nrxmsgs_small",
.data = &nrxmsgs_small,
.maxlen = sizeof (int),
-@@ -142,7 +181,7 @@
+@@ -145,7 +181,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1099,7 +1091,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "ep_envelopes_small",
.data = &ep_envelopes_small,
.maxlen = sizeof (int),
-@@ -150,7 +189,7 @@
+@@ -153,7 +189,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1108,7 +1100,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "optimized_puts",
.data = &optimized_puts,
.maxlen = sizeof (int),
-@@ -158,7 +197,7 @@
+@@ -161,7 +197,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1117,7 +1109,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "optimized_gets",
.data = &optimized_gets,
.maxlen = sizeof (int),
-@@ -167,7 +206,7 @@
+@@ -170,7 +206,7 @@
},
#if KQSW_CKSUM
{
@@ -1126,7 +1118,7 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "inject_csum_error",
.data = &inject_csum_error,
.maxlen = sizeof (int),
-@@ -180,7 +219,7 @@
+@@ -183,7 +219,7 @@
static cfs_sysctl_table_t kqswnal_top_ctl_table[] = {
{
@@ -1135,10 +1127,10 @@ diff -urNad trunk~/lnet/klnds/qswlnd/qswlnd_modparams.c trunk/lnet/klnds/qswlnd/
.procname = "qswnal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ralnd_modparams.c
---- trunk~/lnet/klnds/ralnd/ralnd_modparams.c 2007-08-02 10:30:12.000000000 +0200
-+++ trunk/lnet/klnds/ralnd/ralnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -72,9 +72,37 @@
+diff -urNad lustre~/lnet/klnds/ralnd/ralnd_modparams.c lustre/lnet/klnds/ralnd/ralnd_modparams.c
+--- lustre~/lnet/klnds/ralnd/ralnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/ralnd/ralnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -89,9 +89,37 @@
};
#if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM
@@ -1177,7 +1169,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "n_connd",
.data = &n_connd,
.maxlen = sizeof(int),
-@@ -82,7 +110,7 @@
+@@ -99,7 +127,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1186,7 +1178,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "min_reconnect_interval",
.data = &min_reconnect_interval,
.maxlen = sizeof(int),
-@@ -90,7 +118,7 @@
+@@ -107,7 +135,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1195,7 +1187,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "max_reconnect_interval",
.data = &max_reconnect_interval,
.maxlen = sizeof(int),
-@@ -98,7 +126,7 @@
+@@ -115,7 +143,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1204,7 +1196,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -106,7 +134,7 @@
+@@ -123,7 +151,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1213,7 +1205,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -114,7 +142,7 @@
+@@ -131,7 +159,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1222,7 +1214,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
-@@ -122,7 +150,7 @@
+@@ -139,7 +167,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1231,7 +1223,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "fma_cq_size",
.data = &fma_cq_size,
.maxlen = sizeof(int),
-@@ -130,7 +158,7 @@
+@@ -147,7 +175,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1240,7 +1232,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -138,7 +166,7 @@
+@@ -155,7 +183,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1249,7 +1241,7 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "max_immediate",
.data = &max_immediate,
.maxlen = sizeof(int),
-@@ -150,7 +178,7 @@
+@@ -167,7 +195,7 @@
static cfs_sysctl_table_t kranal_top_ctl_table[] = {
{
@@ -1258,10 +1250,10 @@ diff -urNad trunk~/lnet/klnds/ralnd/ralnd_modparams.c trunk/lnet/klnds/ralnd/ral
.procname = "ranal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/klnds/socklnd/socklnd_lib-linux.c trunk/lnet/klnds/socklnd/socklnd_lib-linux.c
---- trunk~/lnet/klnds/socklnd/socklnd_lib-linux.c 2007-09-11 21:39:20.000000000 +0200
-+++ trunk/lnet/klnds/socklnd/socklnd_lib-linux.c 2008-10-07 13:30:45.000000000 +0200
-@@ -5,197 +5,244 @@
+diff -urNad lustre~/lnet/klnds/socklnd/socklnd_lib-linux.c lustre/lnet/klnds/socklnd/socklnd_lib-linux.c
+--- lustre~/lnet/klnds/socklnd/socklnd_lib-linux.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/socklnd/socklnd_lib-linux.c 2008-12-22 10:43:33.000000000 +0100
+@@ -37,197 +37,244 @@
#include "socklnd.h"
# if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
@@ -1585,10 +1577,10 @@ diff -urNad trunk~/lnet/klnds/socklnd/socklnd_lib-linux.c trunk/lnet/klnds/sockl
ksocknal_tunables.ksnd_sysctl =
cfs_register_sysctl_table(ksocknal_top_ctl_table, 0);
-diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/viblnd_modparams.c
---- trunk~/lnet/klnds/viblnd/viblnd_modparams.c 2007-09-27 04:30:24.000000000 +0200
-+++ trunk/lnet/klnds/viblnd/viblnd_modparams.c 2008-10-07 13:30:45.000000000 +0200
-@@ -125,6 +125,56 @@
+diff -urNad lustre~/lnet/klnds/viblnd/viblnd_modparams.c lustre/lnet/klnds/viblnd/viblnd_modparams.c
+--- lustre~/lnet/klnds/viblnd/viblnd_modparams.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/klnds/viblnd/viblnd_modparams.c 2008-12-22 10:43:33.000000000 +0100
+@@ -142,6 +142,56 @@
#endif
};
@@ -1645,7 +1637,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
static char hca_basename_space[32];
-@@ -132,7 +182,7 @@
+@@ -149,7 +199,7 @@
static cfs_sysctl_table_t kibnal_ctl_table[] = {
{
@@ -1654,7 +1646,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "service_number",
.data = &service_number,
.maxlen = sizeof(int),
-@@ -140,7 +190,7 @@
+@@ -157,7 +207,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1663,7 +1655,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "min_reconnect_interval",
.data = &min_reconnect_interval,
.maxlen = sizeof(int),
-@@ -148,7 +198,7 @@
+@@ -165,7 +215,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1672,7 +1664,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "max_reconnect_interval",
.data = &max_reconnect_interval,
.maxlen = sizeof(int),
-@@ -156,7 +206,7 @@
+@@ -173,7 +223,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1681,7 +1673,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "concurrent_peers",
.data = &concurrent_peers,
.maxlen = sizeof(int),
-@@ -164,7 +214,7 @@
+@@ -181,7 +231,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1690,7 +1682,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "cksum",
.data = &cksum,
.maxlen = sizeof(int),
-@@ -172,7 +222,7 @@
+@@ -189,7 +239,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1699,7 +1691,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "timeout",
.data = &timeout,
.maxlen = sizeof(int),
-@@ -180,7 +230,7 @@
+@@ -197,7 +247,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1708,7 +1700,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "ntx",
.data = &ntx,
.maxlen = sizeof(int),
-@@ -188,7 +238,7 @@
+@@ -205,7 +255,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1717,7 +1709,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "credits",
.data = &credits,
.maxlen = sizeof(int),
-@@ -196,7 +246,7 @@
+@@ -213,7 +263,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1726,7 +1718,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "peer_credits",
.data = &peer_credits,
.maxlen = sizeof(int),
-@@ -204,7 +254,7 @@
+@@ -221,7 +271,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1735,7 +1727,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "arp_retries",
.data = &arp_retries,
.maxlen = sizeof(int),
-@@ -212,7 +262,7 @@
+@@ -229,7 +279,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1744,7 +1736,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "hca_basename",
.data = hca_basename_space,
.maxlen = sizeof(hca_basename_space),
-@@ -220,7 +270,7 @@
+@@ -237,7 +287,7 @@
.proc_handler = &proc_dostring
},
{
@@ -1753,7 +1745,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "ipif_basename",
.data = ipif_basename_space,
.maxlen = sizeof(ipif_basename_space),
-@@ -228,7 +278,7 @@
+@@ -245,7 +295,7 @@
.proc_handler = &proc_dostring
},
{
@@ -1762,7 +1754,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "local_ack_timeout",
.data = &local_ack_timeout,
.maxlen = sizeof(int),
-@@ -236,7 +286,7 @@
+@@ -253,7 +303,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1771,7 +1763,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "retry_cnt",
.data = &retry_cnt,
.maxlen = sizeof(int),
-@@ -244,7 +294,7 @@
+@@ -261,7 +311,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1780,7 +1772,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "rnr_cnt",
.data = &rnr_cnt,
.maxlen = sizeof(int),
-@@ -252,7 +302,7 @@
+@@ -269,7 +319,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1789,7 +1781,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "rnr_nak_timer",
.data = &rnr_nak_timer,
.maxlen = sizeof(int),
-@@ -260,7 +310,7 @@
+@@ -277,7 +327,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1798,7 +1790,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "keepalive",
.data = &keepalive,
.maxlen = sizeof(int),
-@@ -268,7 +318,7 @@
+@@ -285,7 +335,7 @@
.proc_handler = &proc_dointvec
},
{
@@ -1807,7 +1799,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "concurrent_sends",
.data = &concurrent_sends,
.maxlen = sizeof(int),
-@@ -277,7 +327,7 @@
+@@ -294,7 +344,7 @@
},
#if IBNAL_USE_FMR
{
@@ -1816,7 +1808,7 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "fmr_remaps",
.data = &fmr_remaps,
.maxlen = sizeof(int),
-@@ -290,7 +340,7 @@
+@@ -307,7 +357,7 @@
static cfs_sysctl_table_t kibnal_top_ctl_table[] = {
{
@@ -1825,10 +1817,10 @@ diff -urNad trunk~/lnet/klnds/viblnd/viblnd_modparams.c trunk/lnet/klnds/viblnd/
.procname = "vibnal",
.data = NULL,
.maxlen = 0,
-diff -urNad trunk~/lnet/libcfs/linux/linux-curproc.c trunk/lnet/libcfs/linux/linux-curproc.c
---- trunk~/lnet/libcfs/linux/linux-curproc.c 2007-02-10 01:04:59.000000000 +0100
-+++ trunk/lnet/libcfs/linux/linux-curproc.c 2008-10-07 13:30:45.000000000 +0200
-@@ -109,6 +109,19 @@
+diff -urNad lustre~/lnet/libcfs/linux/linux-curproc.c lustre/lnet/libcfs/linux/linux-curproc.c
+--- lustre~/lnet/libcfs/linux/linux-curproc.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/libcfs/linux/linux-curproc.c 2008-12-22 10:43:33.000000000 +0100
+@@ -131,6 +131,19 @@
current->cap_effective = cap;
}
@@ -1848,7 +1840,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-curproc.c trunk/lnet/libcfs/linux/lin
EXPORT_SYMBOL(cfs_curproc_uid);
EXPORT_SYMBOL(cfs_curproc_pid);
EXPORT_SYMBOL(cfs_curproc_gid);
-@@ -121,7 +134,7 @@
+@@ -143,7 +156,7 @@
EXPORT_SYMBOL(cfs_curproc_is_in_groups);
EXPORT_SYMBOL(cfs_curproc_cap_get);
EXPORT_SYMBOL(cfs_curproc_cap_set);
@@ -1857,10 +1849,10 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-curproc.c trunk/lnet/libcfs/linux/lin
/*
* Local variables:
* c-indentation-style: "K&R"
-diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-proc.c
---- trunk~/lnet/libcfs/linux/linux-proc.c 2008-03-25 13:23:25.000000000 +0100
-+++ trunk/lnet/libcfs/linux/linux-proc.c 2008-10-07 13:30:45.000000000 +0200
-@@ -61,7 +61,8 @@
+diff -urNad lustre~/lnet/libcfs/linux/linux-proc.c lustre/lnet/libcfs/linux/linux-proc.c
+--- lustre~/lnet/libcfs/linux/linux-proc.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/libcfs/linux/linux-proc.c 2008-12-22 10:43:33.000000000 +0100
+@@ -79,7 +79,8 @@
static cfs_sysctl_table_header_t *lnet_table_header = NULL;
extern char lnet_upcall[1024];
@@ -1870,7 +1862,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
enum {
PSDEV_DEBUG = 1, /* control debugging */
PSDEV_SUBSYSTEM_DEBUG, /* control debugging */
-@@ -80,8 +81,27 @@
+@@ -98,8 +99,27 @@
PSDEV_LNET_DAEMON_FILE, /* spool kernel debug buffer to file */
PSDEV_LNET_DEBUG_MB, /* size of debug buffer */
};
@@ -1899,7 +1891,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
proc_call_handler(void *data, int write,
loff_t *ppos, void *buffer, size_t *lenp,
int (*handler)(void *data, int write,
-@@ -100,17 +120,7 @@
+@@ -118,17 +138,7 @@
}
return 0;
}
@@ -1918,7 +1910,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
static int __proc_dobitmasks(void *data, int write,
loff_t pos, void *buffer, int nob)
-@@ -182,11 +192,12 @@
+@@ -200,11 +210,12 @@
DECLARE_PROC_HANDLER(proc_daemon_file)
@@ -1932,7 +1924,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
int len = snprintf(tmpstr, sizeof(tmpstr), "%d",
trace_get_debug_mb());
-@@ -301,7 +312,8 @@
+@@ -319,7 +330,8 @@
.data = &libcfs_debug,
.maxlen = sizeof(int),
.mode = 0644,
@@ -1942,7 +1934,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_SUBSYSTEM_DEBUG,
-@@ -309,7 +321,8 @@
+@@ -327,7 +339,8 @@
.data = &libcfs_subsystem_debug,
.maxlen = sizeof(int),
.mode = 0644,
@@ -1952,7 +1944,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_PRINTK,
-@@ -317,7 +330,8 @@
+@@ -335,7 +348,8 @@
.data = &libcfs_printk,
.maxlen = sizeof(int),
.mode = 0644,
@@ -1962,7 +1954,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_CONSOLE_RATELIMIT,
-@@ -325,30 +339,36 @@
+@@ -343,30 +357,36 @@
.data = &libcfs_console_ratelimit,
.maxlen = sizeof(int),
.mode = 0644,
@@ -2004,8 +1996,8 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
{
.ctl_name = PSDEV_DEBUG_PATH,
.procname = "debug_path",
-@@ -356,8 +376,8 @@
- .maxlen = sizeof(debug_file_path),
+@@ -374,8 +394,8 @@
+ .maxlen = sizeof(debug_file_path_arr),
.mode = 0644,
.proc_handler = &proc_dostring,
+ .strategy = &sysctl_string,
@@ -2014,7 +2006,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
{
.ctl_name = PSDEV_LNET_UPCALL,
.procname = "upcall",
-@@ -365,6 +385,7 @@
+@@ -383,6 +403,7 @@
.maxlen = sizeof(lnet_upcall),
.mode = 0644,
.proc_handler = &proc_dostring,
@@ -2022,7 +2014,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_LNET_MEMUSED,
-@@ -372,7 +393,8 @@
+@@ -390,7 +411,8 @@
.data = (int *)&libcfs_kmemory.counter,
.maxlen = sizeof(int),
.mode = 0444,
@@ -2032,7 +2024,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_LNET_CATASTROPHE,
-@@ -380,7 +402,8 @@
+@@ -398,7 +420,8 @@
.data = &libcfs_catastrophe,
.maxlen = sizeof(int),
.mode = 0444,
@@ -2042,7 +2034,7 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
},
{
.ctl_name = PSDEV_LNET_PANIC_ON_LBUG,
-@@ -388,39 +411,52 @@
+@@ -406,39 +429,52 @@
.data = &libcfs_panic_on_lbug,
.maxlen = sizeof(int),
.mode = 0644,
@@ -2102,9 +2094,9 @@ diff -urNad trunk~/lnet/libcfs/linux/linux-proc.c trunk/lnet/libcfs/linux/linux-
};
int insert_proc(void)
-diff -urNad trunk~/lnet/lnet/router_proc.c trunk/lnet/lnet/router_proc.c
---- trunk~/lnet/lnet/router_proc.c 2007-11-29 14:35:39.000000000 +0100
-+++ trunk/lnet/lnet/router_proc.c 2008-10-07 13:30:45.000000000 +0200
+diff -urNad lustre~/lnet/lnet/router_proc.c lustre/lnet/lnet/router_proc.c
+--- lustre~/lnet/lnet/router_proc.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lnet/lnet/router_proc.c 2008-12-22 10:43:33.000000000 +0100
@@ -32,12 +32,13 @@
/* this is really lnet_proc.c */
@@ -2146,10 +2138,10 @@ diff -urNad trunk~/lnet/lnet/router_proc.c trunk/lnet/lnet/router_proc.c
}
#else
-diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-core.m4
---- trunk~/lustre/autoconf/lustre-core.m4 2008-06-26 05:05:21.000000000 +0200
-+++ trunk/lustre/autoconf/lustre-core.m4 2008-10-07 13:30:45.000000000 +0200
-@@ -1064,27 +1064,90 @@
+diff -urNad lustre~/lustre/autoconf/lustre-core.m4 lustre/lustre/autoconf/lustre-core.m4
+--- lustre~/lustre/autoconf/lustre-core.m4 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/autoconf/lustre-core.m4 2008-12-22 10:51:42.000000000 +0100
+@@ -1105,20 +1105,79 @@
])
])
@@ -2199,6 +2191,7 @@ diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-c
AC_DEFUN([LC_PAGE_CHECKED],
[AC_MSG_CHECKING([kernel has PageChecked and SetPageChecked])
LB_LINUX_TRY_COMPILE([
+- #include <linux/mm.h>
- #include <linux/page-flags.h>
+ #include <linux/page-flags.h>
+ #include <linux/autoconf.h>
@@ -2231,19 +2224,15 @@ diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-c
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PAGE_CHECKED, 1,
[does kernel have PageChecked and SetPageChecked])
--],[
-+ ],[
+@@ -1126,6 +1185,7 @@
AC_MSG_RESULT(NO)
-+ ])
])
])
++])
-+
-+
AC_DEFUN([LC_EXPORT_TRUNCATE_COMPLETE],
[LB_CHECK_SYMBOL_EXPORT([truncate_complete_page],
- [mm/truncate.c],[
-@@ -1230,11 +1293,156 @@
+@@ -1271,11 +1331,156 @@
# 2.6.23 extract nfs export related data into exportfs.h
AC_DEFUN([LC_HAVE_EXPORTFS_H],
@@ -2405,12 +2394,7 @@ diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-c
])
#
-@@ -1327,10 +1535,24 @@
-
- # 2.6.22
- LC_INVALIDATE_BDEV_2ARG
-+
- # 2.6.23
+@@ -1377,6 +1582,19 @@
LC_UNREGISTER_BLKDEV_RETURN_INT
LC_KERNEL_SPLICE_READ
LC_HAVE_EXPORTFS_H
@@ -2430,7 +2414,7 @@ diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-c
])
#
-@@ -1511,6 +1733,7 @@
+@@ -1609,6 +1827,7 @@
],[
AC_MSG_RESULT([no])
])
@@ -2438,10 +2422,10 @@ diff -urNad trunk~/lustre/autoconf/lustre-core.m4 trunk/lustre/autoconf/lustre-c
],[
AC_MSG_RESULT([no])
])
-diff -urNad trunk~/lustre/include/liblustre.h trunk/lustre/include/liblustre.h
---- trunk~/lustre/include/liblustre.h 2008-04-24 09:07:44.000000000 +0200
-+++ trunk/lustre/include/liblustre.h 2008-10-07 13:30:45.000000000 +0200
-@@ -718,11 +718,13 @@
+diff -urNad lustre~/lustre/include/liblustre.h lustre/lustre/include/liblustre.h
+--- lustre~/lustre/include/liblustre.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/liblustre.h 2008-12-22 10:43:33.000000000 +0100
+@@ -743,11 +743,13 @@
struct _cap_struct;
typedef struct _cap_struct *cap_t;
typedef int cap_value_t;
@@ -2455,7 +2439,7 @@ diff -urNad trunk~/lustre/include/liblustre.h trunk/lustre/include/liblustre.h
typedef enum {
CAP_CLEAR=0,
CAP_SET=1
-@@ -732,11 +734,33 @@
+@@ -757,11 +759,33 @@
#define CAP_DAC_READ_SEARCH 2
#define CAP_FOWNER 3
#define CAP_FSETID 4
@@ -2490,10 +2474,10 @@ diff -urNad trunk~/lustre/include/liblustre.h trunk/lustre/include/liblustre.h
static inline void libcfs_run_lbug_upcall(char *file, const char *fn,
const int l){}
-diff -urNad trunk~/lustre/include/linux/lustre_compat25.h trunk/lustre/include/linux/lustre_compat25.h
---- trunk~/lustre/include/linux/lustre_compat25.h 2008-03-27 04:32:33.000000000 +0100
-+++ trunk/lustre/include/linux/lustre_compat25.h 2008-10-07 13:30:45.000000000 +0200
-@@ -43,6 +43,28 @@
+diff -urNad lustre~/lustre/include/linux/lustre_compat25.h lustre/lustre/include/linux/lustre_compat25.h
+--- lustre~/lustre/include/linux/lustre_compat25.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/linux/lustre_compat25.h 2008-12-22 10:43:33.000000000 +0100
+@@ -57,6 +57,28 @@
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14) */
#ifndef HAVE_SET_FS_PWD
@@ -2522,7 +2506,7 @@ diff -urNad trunk~/lustre/include/linux/lustre_compat25.h trunk/lustre/include/l
static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt,
struct dentry *dentry)
{
-@@ -61,6 +83,7 @@
+@@ -75,6 +97,7 @@
mntput(old_pwdmnt);
}
}
@@ -2530,8 +2514,8 @@ diff -urNad trunk~/lustre/include/linux/lustre_compat25.h trunk/lustre/include/l
#else
#define ll_set_fs_pwd set_fs_pwd
#endif /* HAVE_SET_FS_PWD */
-@@ -538,5 +561,56 @@
- #define ll_invalidate_bdev(a,b) invalidate_bdev((a))
+@@ -590,5 +613,56 @@
+ vfs_rename(old,old_dir,new,new_dir)
#endif
+#ifdef HAVE_REGISTER_SHRINKER
@@ -2587,10 +2571,10 @@ diff -urNad trunk~/lustre/include/linux/lustre_compat25.h trunk/lustre/include/l
+
#endif /* __KERNEL__ */
#endif /* _COMPAT25_H */
-diff -urNad trunk~/lustre/include/linux/lvfs.h trunk/lustre/include/linux/lvfs.h
---- trunk~/lustre/include/linux/lvfs.h 2007-07-26 08:24:10.000000000 +0200
-+++ trunk/lustre/include/linux/lvfs.h 2008-10-07 13:30:45.000000000 +0200
-@@ -47,7 +47,7 @@
+diff -urNad lustre~/lustre/include/linux/lvfs.h lustre/lustre/include/linux/lvfs.h
+--- lustre~/lustre/include/linux/lvfs.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/linux/lvfs.h 2008-12-22 10:43:33.000000000 +0100
+@@ -64,7 +64,7 @@
struct upcall_cache_entry *luc_uce;
__u32 luc_fsuid;
__u32 luc_fsgid;
@@ -2599,10 +2583,10 @@ diff -urNad trunk~/lustre/include/linux/lvfs.h trunk/lustre/include/linux/lvfs.h
__u32 luc_suppgid1;
__u32 luc_suppgid2;
__u32 luc_umask;
-diff -urNad trunk~/lustre/include/lprocfs_status.h trunk/lustre/include/lprocfs_status.h
---- trunk~/lustre/include/lprocfs_status.h 2008-04-18 06:47:52.000000000 +0200
-+++ trunk/lustre/include/lprocfs_status.h 2008-10-07 13:30:45.000000000 +0200
-@@ -481,6 +481,8 @@
+diff -urNad lustre~/lustre/include/lprocfs_status.h lustre/lustre/include/lprocfs_status.h
+--- lustre~/lustre/include/lprocfs_status.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/lprocfs_status.h 2008-12-22 10:43:33.000000000 +0100
+@@ -509,6 +509,8 @@
#define LPROCFS_EXIT() do { \
up_read(&_lprocfs_lock); \
} while(0)
@@ -2611,9 +2595,9 @@ diff -urNad trunk~/lustre/include/lprocfs_status.h trunk/lustre/include/lprocfs_
#define LPROCFS_ENTRY_AND_CHECK(dp) do { \
typecheck(struct proc_dir_entry *, dp); \
LPROCFS_ENTRY(); \
-@@ -489,6 +491,13 @@
- return -ENODEV; \
- } \
+@@ -523,6 +525,13 @@
+ #define LPROCFS_WRITE_EXIT() do { \
+ up_write(&_lprocfs_lock); \
} while(0)
+#define LPROCFS_CHECK_DELETED(dp) ((dp)->deleted)
+#else
@@ -2623,12 +2607,12 @@ diff -urNad trunk~/lustre/include/lprocfs_status.h trunk/lustre/include/lprocfs_
+#endif
+
- /* You must use these macros when you want to refer to
+ /* You must use these macros when you want to refer to
* the import in a client obd_device for a lprocfs entry */
-diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
---- trunk~/lustre/include/lustre_log.h 2007-08-24 13:12:48.000000000 +0200
-+++ trunk/lustre/include/lustre_log.h 2008-10-07 13:30:45.000000000 +0200
-@@ -218,14 +218,6 @@
+diff -urNad lustre~/lustre/include/lustre_log.h lustre/lustre/include/lustre_log.h
+--- lustre~/lustre/include/lustre_log.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/lustre_log.h 2008-12-22 10:43:33.000000000 +0100
+@@ -238,14 +238,6 @@
void *llog_proc_cb;
};
@@ -2643,7 +2627,7 @@ diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
static inline void llog_gen_init(struct llog_ctxt *ctxt)
{
struct obd_device *obd = ctxt->loc_exp->exp_obd;
-@@ -329,7 +321,7 @@
+@@ -349,7 +341,7 @@
int numcookies, void *buf, int idx)
{
struct llog_operations *lop;
@@ -2652,7 +2636,7 @@ diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
int rc, buflen;
ENTRY;
-@@ -346,10 +338,10 @@
+@@ -366,10 +358,10 @@
buflen = rec->lrh_len;
LASSERT(size_round(buflen) == buflen);
@@ -2666,7 +2650,7 @@ diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
RETURN(rc);
}
-@@ -445,7 +437,7 @@
+@@ -465,7 +457,7 @@
struct llog_logid *logid, char *name)
{
struct llog_operations *lop;
@@ -2675,7 +2659,7 @@ diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
int rc;
ENTRY;
-@@ -455,10 +447,10 @@
+@@ -475,10 +467,10 @@
if (lop->lop_create == NULL)
RETURN(-EOPNOTSUPP);
@@ -2688,10 +2672,10 @@ diff -urNad trunk~/lustre/include/lustre_log.h trunk/lustre/include/lustre_log.h
RETURN(rc);
}
-diff -urNad trunk~/lustre/include/lustre_mds.h trunk/lustre/include/lustre_mds.h
---- trunk~/lustre/include/lustre_mds.h 2008-04-24 06:41:00.000000000 +0200
-+++ trunk/lustre/include/lustre_mds.h 2008-10-07 13:30:45.000000000 +0200
-@@ -177,7 +177,7 @@
+diff -urNad lustre~/lustre/include/lustre_mds.h lustre/lustre/include/lustre_mds.h
+--- lustre~/lustre/include/lustre_mds.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/include/lustre_mds.h 2008-12-22 10:43:33.000000000 +0100
+@@ -209,7 +209,7 @@
struct page *, struct ptlrpc_request **);
int mdc_create(struct obd_export *exp, struct mdc_op_data *op_data,
const void *data, int datalen, int mode, __u32 uid, __u32 gid,
@@ -2700,10 +2684,10 @@ diff -urNad trunk~/lustre/include/lustre_mds.h trunk/lustre/include/lustre_mds.h
int mdc_unlink(struct obd_export *exp, struct mdc_op_data *data,
struct ptlrpc_request **request);
int mdc_link(struct obd_export *exp, struct mdc_op_data *data,
-diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
---- trunk~/lustre/llite/file.c 2008-10-07 13:30:45.000000000 +0200
-+++ trunk/lustre/llite/file.c 2008-10-07 13:30:45.000000000 +0200
-@@ -1681,9 +1681,17 @@
+diff -urNad lustre~/lustre/llite/file.c lustre/lustre/llite/file.c
+--- lustre~/lustre/llite/file.c 2008-12-22 10:43:30.000000000 +0100
++++ lustre/lustre/llite/file.c 2008-12-22 10:43:33.000000000 +0100
+@@ -1820,9 +1820,17 @@
/*
* Send file content (through pagecache) somewhere with helper
*/
@@ -2724,7 +2708,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
{
struct inode *inode = in_file->f_dentry->d_inode;
struct ll_inode_info *lli = ll_i2info(inode);
-@@ -1692,8 +1700,7 @@
+@@ -1831,8 +1839,7 @@
struct ll_lock_tree_node *node;
struct ost_lvb lvb;
struct ll_ra_read bead;
@@ -2734,7 +2718,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
__u64 kms;
ENTRY;
CDEBUG(D_VFSTRACE, "VFS Op:inode=%lu/%u(%p),size="LPSZ",offset=%Ld\n",
-@@ -1709,8 +1716,14 @@
+@@ -1848,8 +1855,14 @@
in_file->f_ra.ra_pages = 0;
/* File with no objects, nothing to lock */
@@ -2751,7 +2735,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
node = ll_node_from_inode(inode, *ppos, *ppos + count - 1, LCK_PR);
if (IS_ERR(node))
-@@ -1750,8 +1763,8 @@
+@@ -1889,8 +1902,8 @@
/* A glimpse is necessary to determine whether we return a
* short read (B) or some zeroes at the end of the buffer (C) */
ll_inode_size_unlock(inode, 1);
@@ -2762,7 +2746,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
goto out;
} else {
/* region is within kms and, hence, within real file size (A) */
-@@ -1767,14 +1780,17 @@
+@@ -1906,14 +1919,17 @@
ll_ra_read_in(in_file, &bead);
/* BUG: 5972 */
file_accessed(in_file);
@@ -2783,7 +2767,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
static int ll_lov_recreate_obj(struct inode *inode, struct file *file,
unsigned long arg)
-@@ -2916,7 +2932,9 @@
+@@ -3179,7 +3195,9 @@
.release = ll_file_release,
.mmap = ll_file_mmap,
.llseek = ll_file_seek,
@@ -2794,16 +2778,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
.sendfile = ll_file_sendfile,
#endif
.fsync = ll_fsync,
-@@ -2932,7 +2950,7 @@
- .write = ll_file_write,
- #ifdef HAVE_FILE_WRITEV
- .writev = ll_file_writev,
--#else
-+#else
- .aio_write = ll_file_aio_write,
- #endif
- .ioctl = ll_file_ioctl,
-@@ -2940,7 +2958,9 @@
+@@ -3203,7 +3221,9 @@
.release = ll_file_release,
.mmap = ll_file_mmap,
.llseek = ll_file_seek,
@@ -2814,16 +2789,7 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
.sendfile = ll_file_sendfile,
#endif
.fsync = ll_fsync,
-@@ -2961,7 +2981,7 @@
- .write = ll_file_write,
- #ifdef HAVE_FILE_WRITEV
- .writev = ll_file_writev,
--#else
-+#else
- .aio_write = ll_file_aio_write,
- #endif
- .ioctl = ll_file_ioctl,
-@@ -2969,7 +2989,9 @@
+@@ -3232,7 +3252,9 @@
.release = ll_file_release,
.mmap = ll_file_mmap,
.llseek = ll_file_seek,
@@ -2834,10 +2800,10 @@ diff -urNad trunk~/lustre/llite/file.c trunk/lustre/llite/file.c
.sendfile = ll_file_sendfile,
#endif
.fsync = ll_fsync,
-diff -urNad trunk~/lustre/llite/llite_internal.h trunk/lustre/llite/llite_internal.h
---- trunk~/lustre/llite/llite_internal.h 2008-04-26 16:30:54.000000000 +0200
-+++ trunk/lustre/llite/llite_internal.h 2008-10-07 13:30:45.000000000 +0200
-@@ -681,9 +681,6 @@
+diff -urNad lustre~/lustre/llite/llite_internal.h lustre/lustre/llite/llite_internal.h
+--- lustre~/lustre/llite/llite_internal.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_internal.h 2008-12-22 10:43:33.000000000 +0100
+@@ -748,9 +748,6 @@
/* llite/llite_nfs.c */
extern struct export_operations lustre_export_operations;
__u32 get_uuid2int(const char *name, int len);
@@ -2847,10 +2813,10 @@ diff -urNad trunk~/lustre/llite/llite_internal.h trunk/lustre/llite/llite_intern
/* llite/special.c */
extern struct inode_operations ll_special_inode_operations;
-diff -urNad trunk~/lustre/llite/llite_lib.c trunk/lustre/llite/llite_lib.c
---- trunk~/lustre/llite/llite_lib.c 2008-05-28 21:15:40.000000000 +0200
-+++ trunk/lustre/llite/llite_lib.c 2008-10-07 13:30:45.000000000 +0200
-@@ -1347,7 +1347,7 @@
+diff -urNad lustre~/lustre/llite/llite_lib.c lustre/lustre/llite/llite_lib.c
+--- lustre~/lustre/llite/llite_lib.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_lib.c 2008-12-22 10:43:33.000000000 +0100
+@@ -1373,7 +1373,7 @@
rc = vmtruncate(inode, new_size);
clear_bit(LLI_F_SRVLOCK, &lli->lli_flags);
if (rc != 0) {
@@ -2859,10 +2825,10 @@ diff -urNad trunk~/lustre/llite/llite_lib.c trunk/lustre/llite/llite_lib.c
ll_inode_size_unlock(inode, 0);
}
}
-diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
---- trunk~/lustre/llite/llite_mmap.c 2008-03-27 04:32:37.000000000 +0100
-+++ trunk/lustre/llite/llite_mmap.c 2008-10-07 13:32:03.000000000 +0200
-@@ -38,9 +38,6 @@
+diff -urNad lustre~/lustre/llite/llite_mmap.c lustre/lustre/llite/llite_mmap.c
+--- lustre~/lustre/llite/llite_mmap.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_mmap.c 2008-12-22 11:45:45.000000000 +0100
+@@ -53,9 +53,6 @@
#include <linux/mm.h>
#include <linux/pagemap.h>
#include <linux/smp_lock.h>
@@ -2872,28 +2838,17 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
#define DEBUG_SUBSYSTEM S_LLITE
-@@ -66,18 +63,11 @@
- struct inode *lt_inode;
- };
-
-+static struct vm_operations_struct ll_file_vm_ops;
-+
+@@ -84,8 +81,7 @@
int lt_get_mmap_locks(struct ll_lock_tree *tree,
unsigned long addr, size_t count);
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
-struct page *ll_nopage(struct vm_area_struct *vma, unsigned long address,
- int *type);
--#else
--
--struct page *ll_nopage(struct vm_area_struct *vma, unsigned long address,
-- int unused);
--#endif
--
++static struct vm_operations_struct ll_file_vm_ops;
+
struct ll_lock_tree_node * ll_node_from_inode(struct inode *inode, __u64 start,
__u64 end, ldlm_mode_t mode)
- {
-@@ -302,7 +292,7 @@
+@@ -311,7 +307,7 @@
spin_lock(&mm->page_table_lock);
for(vma = find_vma(mm, addr);
vma != NULL && vma->vm_start < (addr + count); vma = vma->vm_next) {
@@ -2902,32 +2857,25 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
vma->vm_flags & VM_SHARED) {
ret = vma;
break;
-@@ -350,53 +340,28 @@
+@@ -363,44 +359,30 @@
+ }
RETURN(0);
}
-
--/* FIXME: there is a pagefault race goes as follow (only 2.4):
-- * 1. A user process on node A accesses a portion of a mapped file,
-- * resulting in a page fault. The pagefault handler invokes the
-- * ll_nopage function, which reads the page into memory.
-- * 2. A user process on node B writes to the same portion of the file
-- * (either via mmap or write()), that cause node A to cancel the
-- * lock and truncate the page.
-- * 3. Node A then executes the rest of do_no_page(), entering the
-- * now-invalid page into the PTEs.
+-/**
+- * Page fault handler.
- *
-- * Make the whole do_no_page as a hook to cover both the page cache
-- * and page mapping installing with dlm lock would eliminate this race.
+- * \param vma - is virtiual area struct related to page fault
+- * \param address - address when hit fault
+- * \param type - of fault
- *
-- * In 2.6, the truncate_count of address_space can cover this race.
+- * \return allocated and filled page for address
+- * \retval NOPAGE_SIGBUS if page not exist on this address
+- * \retval NOPAGE_OOM not have memory for allocate new page
- */
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
-struct page *ll_nopage(struct vm_area_struct *vma, unsigned long address,
- int *type)
--#else
--struct page *ll_nopage(struct vm_area_struct *vma, unsigned long address,
-- int type /* unused */)
--#endif
++
++
+static int ll_get_extent_lock(struct vm_area_struct *vma, unsigned long pgoff,
+ int *save_flags, struct lustre_handle *lockh)
{
@@ -2946,14 +2894,13 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
- int rc = 0;
- ENTRY;
+ unsigned long size;
-+
if (lli->lli_smd == NULL) {
CERROR("No lsm on fault?\n");
-- RETURN(NULL);
+- RETURN(NOPAGE_SIGBUS);
+ RETURN(0);
}
--
+
ll_clear_file_contended(inode);
/* start and end the lock on the first and last bytes in the page */
@@ -2962,7 +2909,7 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
CDEBUG(D_MMAP, "nopage vma %p inode %lu, locking ["LPU64", "LPU64"]\n",
vma, inode->i_ino, policy.l_extent.start, policy.l_extent.end);
-@@ -404,26 +369,23 @@
+@@ -408,26 +390,24 @@
mode = mode_from_vma(vma);
old_mtime = LTIME_S(inode->i_mtime);
@@ -2970,7 +2917,7 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
- rc = ll_extent_lock(fd, inode, lsm, mode, &policy,
- &lockh, LDLM_FL_CBPENDING | LDLM_FL_NO_LRU);
- if (rc != 0)
-- RETURN(NULL);
+- RETURN(NOPAGE_SIGBUS);
+ if(ll_extent_lock(fd, inode, lli->lli_smd, mode, &policy,
+ lockh, LDLM_FL_CBPENDING | LDLM_FL_NO_LRU))
+ RETURN(0);
@@ -2987,7 +2934,7 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
- pgoff = ((address - vma->vm_start) >> CFS_PAGE_SHIFT) + vma->vm_pgoff;
size = (kms + CFS_PAGE_SIZE - 1) >> CFS_PAGE_SHIFT;
--
+
if (pgoff >= size) {
- lov_stripe_unlock(lsm);
+ lov_stripe_unlock(lli->lli_smd);
@@ -2996,7 +2943,7 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
} else {
/* XXX change inode size without ll_inode_size_lock() held!
* there is a race condition with truncate path. (see
-@@ -445,38 +407,85 @@
+@@ -449,29 +429,59 @@
CDEBUG(D_INODE, "ino=%lu, updating i_size %llu\n",
inode->i_ino, i_size_read(inode));
}
@@ -3057,15 +3004,20 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
+ if(!ll_get_extent_lock(vma, pgoff, &save_fags, &lockh))
+ RETURN(NOPAGE_SIGBUS);
+
++
++
page = filemap_nopage(vma, address, type);
- LL_CDEBUG_PAGE(D_PAGE, page, "got addr %lu type %lx\n", address,
- (long)type);
+ if (page != NOPAGE_SIGBUS && page != NOPAGE_OOM)
+ LL_CDEBUG_PAGE(D_PAGE, page, "got addr %lu type %lx\n", address,
+@@ -480,12 +490,30 @@
+ CDEBUG(D_PAGE, "got addr %lu type %lx - SIGBUS\n", address,
+ (long)type);
+
- vma->vm_flags &= ~VM_RAND_READ;
- vma->vm_flags |= (rand_read | seq_read);
++ ll_put_extent_lock(vma, save_fags, &lockh);
- ll_extent_unlock(fd, inode, ll_i2info(inode)->lli_smd, mode, &lockh);
-+ ll_put_extent_lock(vma, save_fags, &lockh);
-+
RETURN(page);
}
+#else
@@ -3091,107 +3043,30 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
/* To avoid cancel the locks covering mmapped region for lock cache pressure,
* we track the mapped vma count by lli_mmap_cnt.
-@@ -542,9 +551,12 @@
+@@ -551,6 +579,7 @@
}
}
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
+#ifndef HAVE_VM_OP_FAULT
#ifndef HAVE_FILEMAP_POPULATE
--static int (*filemap_populate)(struct vm_area_struct * area, unsigned long address, unsigned long len, pgprot_t prot, unsigned long pgoff, int nonblock);
-+static int (*filemap_populate)(struct vm_area_struct * area,
-+ unsigned long address, unsigned long len,
-+ pgprot_t prot, unsigned long pgoff,
-+ int nonblock);
+ static int (*filemap_populate)(struct vm_area_struct * area, unsigned long address, unsigned long len, pgprot_t prot, unsigned long pgoff, int nonblock);
#endif
- static int ll_populate(struct vm_area_struct *area, unsigned long address,
- unsigned long len, pgprot_t prot, unsigned long pgoff,
-@@ -566,47 +578,6 @@
-
- }
-
--#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
--/* [first, last] are the byte offsets affected.
-- * vm_{start, end} are user addresses of the first byte of the mapping and
-- * the next byte beyond it
-- * vm_pgoff is the page index of the first byte in the mapping */
--static void teardown_vmas(struct vm_area_struct *vma, __u64 first,
-- __u64 last)
--{
-- unsigned long address, len;
-- for (; vma ; vma = vma->vm_next_share) {
-- if (last >> CFS_PAGE_SHIFT < vma->vm_pgoff)
-- continue;
-- if (first >> CFS_PAGE_SHIFT >= (vma->vm_pgoff +
-- ((vma->vm_end - vma->vm_start) >> CFS_PAGE_SHIFT)))
-- continue;
--
-- /* XXX in case of unmap the cow pages of a running file,
-- * don't unmap these private writeable mapping here!
-- * though that will break private mappping a little.
-- *
-- * the clean way is to check the mapping of every page
-- * and just unmap the non-cow pages, just like
-- * unmap_mapping_range() with even_cow=0 in kernel 2.6.
-- */
-- if (!(vma->vm_flags & VM_SHARED) &&
-- (vma->vm_flags & VM_WRITE))
-- continue;
--
-- address = max((unsigned long)vma->vm_start,
-- file_to_user(vma, first));
-- len = min((unsigned long)vma->vm_end,
-- file_to_user(vma, last) + 1) - address;
--
-- VMA_DEBUG(vma, "zapping vma [first="LPU64" last="LPU64" "
-- "address=%ld len=%ld]\n", first, last, address, len);
-- LASSERT(len > 0);
-- ll_zap_page_range(vma, address, len);
-- }
--}
--#endif
--
- /* XXX put nice comment here. talk about __free_pte -> dirty pages and
- * nopage's reference passing to the pte */
- int ll_teardown_mmaps(struct address_space *mapping, __u64 first, __u64 last)
-@@ -615,32 +586,21 @@
- ENTRY;
-
- LASSERTF(last > first, "last "LPU64" first "LPU64"\n", last, first);
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
- if (mapping_mapped(mapping)) {
- rc = 0;
- unmap_mapping_range(mapping, first + CFS_PAGE_SIZE - 1,
- last - first + 1, 0);
- }
--#else
-- spin_lock(&mapping->i_shared_lock);
-- if (mapping->i_mmap != NULL) {
-- rc = 0;
-- teardown_vmas(mapping->i_mmap, first, last);
-- }
-- if (mapping->i_mmap_shared != NULL) {
-- rc = 0;
-- teardown_vmas(mapping->i_mmap_shared, first, last);
-- }
-- spin_unlock(&mapping->i_shared_lock);
--#endif
- RETURN(rc);
+@@ -591,10 +620,13 @@
}
static struct vm_operations_struct ll_file_vm_ops = {
- .nopage = ll_nopage,
.open = ll_vm_open,
.close = ll_vm_close,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0))
+ .populate = ll_populate,
+#ifdef HAVE_VM_OP_FAULT
+ .fault = ll_fault,
+#else
+ .nopage = ll_nopage,
- .populate = ll_populate,
- #endif
};
-@@ -653,8 +613,7 @@
+
+ int ll_file_mmap(struct file * file, struct vm_area_struct * vma)
+@@ -605,8 +637,7 @@
ll_stats_ops_tally(ll_i2sbi(file->f_dentry->d_inode), LPROC_LL_MAP, 1);
rc = generic_file_mmap(file, vma);
if (rc == 0) {
@@ -3201,10 +3076,10 @@ diff -urNad trunk~/lustre/llite/llite_mmap.c trunk/lustre/llite/llite_mmap.c
if (!filemap_populate)
filemap_populate = vma->vm_ops->populate;
#endif
-diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
---- trunk~/lustre/llite/llite_nfs.c 2008-04-24 06:41:05.000000000 +0200
-+++ trunk/lustre/llite/llite_nfs.c 2008-10-07 13:30:45.000000000 +0200
-@@ -40,11 +40,7 @@
+diff -urNad lustre~/lustre/llite/llite_nfs.c lustre/lustre/llite/llite_nfs.c
+--- lustre~/lustre/llite/llite_nfs.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/llite_nfs.c 2008-12-22 10:43:33.000000000 +0100
+@@ -57,11 +57,7 @@
return (key0 << 1);
}
@@ -3216,7 +3091,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
{
struct ll_fid *iid = opaque;
-@@ -56,12 +52,10 @@
+@@ -73,12 +69,10 @@
static struct inode * search_inode_for_lustre(struct super_block *sb,
unsigned long ino,
@@ -3230,7 +3105,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
unsigned long valid = 0;
int eadatalen = 0, rc;
struct inode *inode = NULL;
-@@ -72,17 +66,15 @@
+@@ -89,17 +83,15 @@
if (inode)
RETURN(inode);
@@ -3256,7 +3131,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
if (rc) {
CERROR("failure %d inode %lu\n", rc, ino);
RETURN(ERR_PTR(rc));
-@@ -98,20 +90,23 @@
+@@ -115,20 +107,23 @@
RETURN(inode);
}
@@ -3287,7 +3162,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
if (IS_ERR(inode)) {
RETURN(ERR_PTR(PTR_ERR(inode)));
}
-@@ -125,40 +120,24 @@
+@@ -142,40 +137,24 @@
iput(inode);
RETURN(ERR_PTR(-ESTALE));
}
@@ -3340,7 +3215,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
ll_set_dd(result);
lock_dentry(result);
-@@ -173,80 +152,63 @@
+@@ -190,80 +169,63 @@
}
RETURN(result);
@@ -3451,7 +3326,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
0, 0, &req);
if (rc) {
CERROR("failure %d inode %lu get parent\n", rc, dir->i_ino);
-@@ -256,8 +218,9 @@
+@@ -273,8 +235,9 @@
LASSERT((body->valid & OBD_MD_FLGENER) && (body->valid & OBD_MD_FLID));
@@ -3463,7 +3338,7 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
if (IS_ERR(result))
rc = PTR_ERR(result);
-@@ -268,7 +231,11 @@
+@@ -285,7 +248,11 @@
}
struct export_operations lustre_export_operations = {
@@ -3478,10 +3353,10 @@ diff -urNad trunk~/lustre/llite/llite_nfs.c trunk/lustre/llite/llite_nfs.c
#endif
+ .get_parent = ll_get_parent,
+};
-diff -urNad trunk~/lustre/llite/lloop.c trunk/lustre/llite/lloop.c
---- trunk~/lustre/llite/lloop.c 2007-11-21 13:11:10.000000000 +0100
-+++ trunk/lustre/llite/lloop.c 2008-10-07 13:30:45.000000000 +0200
-@@ -299,7 +299,7 @@
+diff -urNad lustre~/lustre/llite/lloop.c lustre/lustre/llite/lloop.c
+--- lustre~/lustre/llite/lloop.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/lloop.c 2008-12-22 10:43:33.000000000 +0100
+@@ -312,7 +312,7 @@
if (atomic_dec_and_test(&lo->lo_pending))
up(&lo->lo_bh_mutex);
out:
@@ -3490,7 +3365,7 @@ diff -urNad trunk~/lustre/llite/lloop.c trunk/lustre/llite/lloop.c
return 0;
inactive:
spin_unlock_irq(&lo->lo_lock);
-@@ -321,7 +321,7 @@
+@@ -334,7 +334,7 @@
{
int ret;
ret = do_bio_filebacked(lo, bio);
@@ -3499,10 +3374,10 @@ diff -urNad trunk~/lustre/llite/lloop.c trunk/lustre/llite/lloop.c
}
/*
-diff -urNad trunk~/lustre/llite/namei.c trunk/lustre/llite/namei.c
---- trunk~/lustre/llite/namei.c 2008-04-24 06:41:06.000000000 +0200
-+++ trunk/lustre/llite/namei.c 2008-10-07 13:30:45.000000000 +0200
-@@ -879,7 +879,7 @@
+diff -urNad lustre~/lustre/llite/namei.c lustre/lustre/llite/namei.c
+--- lustre~/lustre/llite/namei.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/namei.c 2008-12-22 10:43:33.000000000 +0100
+@@ -901,7 +901,7 @@
err = mdc_create(sbi->ll_mdc_exp, &op_data, tgt, tgt_len,
mode, current->fsuid, current->fsgid,
@@ -3511,10 +3386,10 @@ diff -urNad trunk~/lustre/llite/namei.c trunk/lustre/llite/namei.c
if (err)
GOTO(err_exit, err);
-diff -urNad trunk~/lustre/llite/rw.c trunk/lustre/llite/rw.c
---- trunk~/lustre/llite/rw.c 2008-04-03 05:23:43.000000000 +0200
-+++ trunk/lustre/llite/rw.c 2008-10-07 13:30:45.000000000 +0200
-@@ -161,7 +161,7 @@
+diff -urNad lustre~/lustre/llite/rw.c lustre/lustre/llite/rw.c
+--- lustre~/lustre/llite/rw.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/rw.c 2008-12-22 10:43:33.000000000 +0100
+@@ -186,7 +186,7 @@
GOTO(out_unlock, 0);
}
@@ -3523,10 +3398,10 @@ diff -urNad trunk~/lustre/llite/rw.c trunk/lustre/llite/rw.c
if (!srvlock) {
struct ost_lvb lvb;
-diff -urNad trunk~/lustre/llite/symlink.c trunk/lustre/llite/symlink.c
---- trunk~/lustre/llite/symlink.c 2007-10-25 04:14:35.000000000 +0200
-+++ trunk/lustre/llite/symlink.c 2008-10-07 13:30:45.000000000 +0200
-@@ -156,8 +156,12 @@
+diff -urNad lustre~/lustre/llite/symlink.c lustre/lustre/llite/symlink.c
+--- lustre~/lustre/llite/symlink.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/llite/symlink.c 2008-12-22 10:43:33.000000000 +0100
+@@ -171,8 +171,12 @@
rc = ll_readlink_internal(inode, &request, &symname);
up(&lli->lli_size_sem);
if (rc) {
@@ -3539,10 +3414,10 @@ diff -urNad trunk~/lustre/llite/symlink.c trunk/lustre/llite/symlink.c
GOTO(out, rc);
}
-diff -urNad trunk~/lustre/lvfs/lvfs_linux.c trunk/lustre/lvfs/lvfs_linux.c
---- trunk~/lustre/lvfs/lvfs_linux.c 2007-10-30 06:25:57.000000000 +0100
-+++ trunk/lustre/lvfs/lvfs_linux.c 2008-10-07 13:30:45.000000000 +0200
-@@ -133,10 +133,10 @@
+diff -urNad lustre~/lustre/lvfs/lvfs_linux.c lustre/lustre/lvfs/lvfs_linux.c
+--- lustre~/lustre/lvfs/lvfs_linux.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/lvfs/lvfs_linux.c 2008-12-22 10:43:33.000000000 +0100
+@@ -148,10 +148,10 @@
*/
save->fs = get_fs();
@@ -3556,7 +3431,7 @@ diff -urNad trunk~/lustre/lvfs/lvfs_linux.c trunk/lustre/lvfs/lvfs_linux.c
save->luc.luc_umask = current->fs->umask;
LASSERT(save->pwd);
-@@ -147,11 +147,11 @@
+@@ -162,11 +162,11 @@
if (uc) {
save->luc.luc_fsuid = current->fsuid;
save->luc.luc_fsgid = current->fsgid;
@@ -3570,7 +3445,7 @@ diff -urNad trunk~/lustre/lvfs/lvfs_linux.c trunk/lustre/lvfs/lvfs_linux.c
push_group_info(save, uc->luc_uce);
}
current->fs->umask = 0; /* umask already applied on client */
-@@ -190,10 +190,10 @@
+@@ -205,10 +205,10 @@
atomic_read(¤t->fs->pwdmnt->mnt_count));
*/
@@ -3585,7 +3460,7 @@ diff -urNad trunk~/lustre/lvfs/lvfs_linux.c trunk/lustre/lvfs/lvfs_linux.c
set_fs(saved->fs);
ll_set_fs_pwd(current->fs, saved->pwdmnt, saved->pwd);
-@@ -204,7 +204,7 @@
+@@ -219,7 +219,7 @@
if (uc) {
current->fsuid = saved->luc.luc_fsuid;
current->fsgid = saved->luc.luc_fsgid;
@@ -3594,10 +3469,10 @@ diff -urNad trunk~/lustre/lvfs/lvfs_linux.c trunk/lustre/lvfs/lvfs_linux.c
pop_group_info(saved, uc->luc_uce);
}
-diff -urNad trunk~/lustre/mdc/mdc_internal.h trunk/lustre/mdc/mdc_internal.h
---- trunk~/lustre/mdc/mdc_internal.h 2008-01-17 14:00:30.000000000 +0100
-+++ trunk/lustre/mdc/mdc_internal.h 2008-10-07 13:30:45.000000000 +0200
-@@ -28,7 +28,7 @@
+diff -urNad lustre~/lustre/mdc/mdc_internal.h lustre/lustre/mdc/mdc_internal.h
+--- lustre~/lustre/mdc/mdc_internal.h 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/mdc/mdc_internal.h 2008-12-22 10:43:33.000000000 +0100
+@@ -60,7 +60,7 @@
void *ea2, int ea2len);
void mdc_create_pack(struct ptlrpc_request *req, int offset,
struct mdc_op_data *op_data, const void *data, int datalen,
@@ -3606,10 +3481,10 @@ diff -urNad trunk~/lustre/mdc/mdc_internal.h trunk/lustre/mdc/mdc_internal.h
__u64 rdev);
void mdc_open_pack(struct ptlrpc_request *req, int offset,
struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
-diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
---- trunk~/lustre/mdc/mdc_lib.c 2008-03-26 07:22:04.000000000 +0100
-+++ trunk/lustre/mdc/mdc_lib.c 2008-10-07 13:30:45.000000000 +0200
-@@ -46,7 +46,7 @@
+diff -urNad lustre~/lustre/mdc/mdc_lib.c lustre/lustre/mdc/mdc_lib.c
+--- lustre~/lustre/mdc/mdc_lib.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/mdc/mdc_lib.c 2008-12-22 10:43:33.000000000 +0100
+@@ -58,7 +58,7 @@
b = lustre_msg_buf(req->rq_reqmsg, offset, sizeof(*b));
b->fsuid = current->fsuid;
b->fsgid = current->fsgid;
@@ -3618,7 +3493,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
b->fid1 = *fid;
b->size = pg_off; /* !! */
b->suppgid = -1;
-@@ -59,7 +59,7 @@
+@@ -71,7 +71,7 @@
b->fsuid = current->fsuid;
b->fsgid = current->fsgid;
@@ -3627,7 +3502,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
}
void mdc_pack_req_body(struct ptlrpc_request *req, int offset,
-@@ -78,7 +78,7 @@
+@@ -90,7 +90,7 @@
/* packing of MDS records */
void mdc_create_pack(struct ptlrpc_request *req, int offset,
struct mdc_op_data *op_data, const void *data, int datalen,
@@ -3636,7 +3511,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
__u64 rdev)
{
struct mds_rec_create *rec;
-@@ -88,7 +88,7 @@
+@@ -100,7 +100,7 @@
rec->cr_opcode = REINT_CREATE;
rec->cr_fsuid = uid;
rec->cr_fsgid = gid;
@@ -3645,7 +3520,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->cr_fid = op_data->fid1;
memset(&rec->cr_replayfid, 0, sizeof(rec->cr_replayfid));
rec->cr_mode = mode;
-@@ -156,7 +156,7 @@
+@@ -168,7 +168,7 @@
rec->cr_opcode = REINT_OPEN;
rec->cr_fsuid = current->fsuid;
rec->cr_fsgid = current->fsgid;
@@ -3654,7 +3529,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->cr_fid = op_data->fid1;
memset(&rec->cr_replayfid, 0, sizeof(rec->cr_replayfid));
rec->cr_mode = mode;
-@@ -230,7 +230,7 @@
+@@ -242,7 +242,7 @@
rec->sa_opcode = REINT_SETATTR;
rec->sa_fsuid = current->fsuid;
rec->sa_fsgid = current->fsgid;
@@ -3663,7 +3538,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->sa_fid = data->fid1;
rec->sa_suppgid = -1;
-@@ -274,7 +274,7 @@
+@@ -286,7 +286,7 @@
rec->ul_opcode = REINT_UNLINK;
rec->ul_fsuid = current->fsuid;
rec->ul_fsgid = current->fsgid;
@@ -3672,7 +3547,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->ul_mode = data->create_mode;
rec->ul_suppgid = data->suppgids[0];
rec->ul_fid1 = data->fid1;
-@@ -297,7 +297,7 @@
+@@ -309,7 +309,7 @@
rec->lk_opcode = REINT_LINK;
rec->lk_fsuid = current->fsuid;
rec->lk_fsgid = current->fsgid;
@@ -3681,7 +3556,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->lk_suppgid1 = data->suppgids[0];
rec->lk_suppgid2 = data->suppgids[1];
rec->lk_fid1 = data->fid1;
-@@ -321,7 +321,7 @@
+@@ -333,7 +333,7 @@
rec->rn_opcode = REINT_RENAME;
rec->rn_fsuid = current->fsuid;
rec->rn_fsgid = current->fsgid;
@@ -3690,7 +3565,7 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
rec->rn_suppgid1 = data->suppgids[0];
rec->rn_suppgid2 = data->suppgids[1];
rec->rn_fid1 = data->fid1;
-@@ -345,7 +345,7 @@
+@@ -357,7 +357,7 @@
b->fsuid = current->fsuid;
b->fsgid = current->fsgid;
@@ -3699,10 +3574,10 @@ diff -urNad trunk~/lustre/mdc/mdc_lib.c trunk/lustre/mdc/mdc_lib.c
b->valid = valid;
b->flags = flags | MDS_BFLAG_EXT_FLAGS;
/* skip MDS_BFLAG_EXT_FLAGS to verify the "client < 1.4.7" case
-diff -urNad trunk~/lustre/mdc/mdc_reint.c trunk/lustre/mdc/mdc_reint.c
---- trunk~/lustre/mdc/mdc_reint.c 2008-02-18 13:43:18.000000000 +0100
-+++ trunk/lustre/mdc/mdc_reint.c 2008-10-07 13:30:45.000000000 +0200
-@@ -164,7 +164,7 @@
+diff -urNad lustre~/lustre/mdc/mdc_reint.c lustre/lustre/mdc/mdc_reint.c
+--- lustre~/lustre/mdc/mdc_reint.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/mdc/mdc_reint.c 2008-12-22 10:43:33.000000000 +0100
+@@ -176,7 +176,7 @@
int mdc_create(struct obd_export *exp, struct mdc_op_data *op_data,
const void *data, int datalen, int mode, __u32 uid, __u32 gid,
@@ -3711,10 +3586,10 @@ diff -urNad trunk~/lustre/mdc/mdc_reint.c trunk/lustre/mdc/mdc_reint.c
{
CFS_LIST_HEAD(cancels);
struct obd_device *obd = exp->exp_obd;
-diff -urNad trunk~/lustre/mgc/mgc_request.c trunk/lustre/mgc/mgc_request.c
---- trunk~/lustre/mgc/mgc_request.c 2008-04-24 13:54:15.000000000 +0200
-+++ trunk/lustre/mgc/mgc_request.c 2008-10-07 13:30:45.000000000 +0200
-@@ -395,7 +395,7 @@
+diff -urNad lustre~/lustre/mgc/mgc_request.c lustre/lustre/mgc/mgc_request.c
+--- lustre~/lustre/mgc/mgc_request.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/mgc/mgc_request.c 2008-12-22 10:43:33.000000000 +0100
+@@ -410,7 +410,7 @@
obd->obd_lvfs_ctxt.fs = get_ds();
push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
@@ -3723,10 +3598,10 @@ diff -urNad trunk~/lustre/mgc/mgc_request.c trunk/lustre/mgc/mgc_request.c
strlen(MOUNT_CONFIGS_DIR));
pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
if (IS_ERR(dentry)) {
-diff -urNad trunk~/lustre/obdclass/linux/linux-module.c trunk/lustre/obdclass/linux/linux-module.c
---- trunk~/lustre/obdclass/linux/linux-module.c 2007-11-13 21:43:24.000000000 +0100
-+++ trunk/lustre/obdclass/linux/linux-module.c 2008-10-07 13:30:45.000000000 +0200
-@@ -386,7 +386,7 @@
+diff -urNad lustre~/lustre/obdclass/linux/linux-module.c lustre/lustre/obdclass/linux/linux-module.c
+--- lustre~/lustre/obdclass/linux/linux-module.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/obdclass/linux/linux-module.c 2008-12-22 10:43:33.000000000 +0100
+@@ -418,7 +418,7 @@
ENTRY;
obd_sysctl_init();
@@ -3735,10 +3610,10 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-module.c trunk/lustre/obdclass/li
if (!proc_lustre_root) {
printk(KERN_ERR
"LustreError: error registering /proc/fs/lustre\n");
-diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/linux/linux-sysctl.c
---- trunk~/lustre/obdclass/linux/linux-sysctl.c 2008-03-25 13:25:41.000000000 +0100
-+++ trunk/lustre/obdclass/linux/linux-sysctl.c 2008-10-07 13:30:45.000000000 +0200
-@@ -48,7 +48,9 @@
+diff -urNad lustre~/lustre/obdclass/linux/linux-sysctl.c lustre/lustre/obdclass/linux/linux-sysctl.c
+--- lustre~/lustre/obdclass/linux/linux-sysctl.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/obdclass/linux/linux-sysctl.c 2008-12-22 12:38:41.000000000 +0100
+@@ -59,7 +59,9 @@
cfs_sysctl_table_header_t *obd_table_header = NULL;
@@ -3749,9 +3624,9 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
enum {
OBD_FAIL_LOC = 1, /* control test failures instrumentation */
-@@ -65,6 +67,22 @@
- OBD_DEBUG_PEER_ON_TIMEOUT, /* dump peer debug when RPC times out */
+@@ -77,6 +79,22 @@
OBD_ALLOC_FAIL_RATE, /* memory allocation random failure rate */
+ OBD_MAX_DIRTY_PAGES, /* maximum dirty pages */
};
+#else
+#define CTL_LUSTRE CTL_UNNUMBERED
@@ -3772,22 +3647,17 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
int LL_PROC_PROTO(proc_fail_loc)
{
-@@ -98,11 +116,12 @@
- return 0;
- }
- if (write) {
-- rc = lprocfs_write_frac_helper(buffer, *lenp,
-+ rc = lprocfs_write_frac_helper(buffer, *lenp,
- (unsigned int*)table->data,
- OBD_ALLOC_FAIL_MULT);
+@@ -123,7 +141,8 @@
+ obd_max_dirty_pages = 4 << (20 - CFS_PAGE_SHIFT);
+ }
} else {
- char buf[21];
+ char buf[22];
-+ struct ctl_table dummy;
- int len;
++ struct ctl_table dummy;
+ int len;
len = lprocfs_read_frac_helper(buf, sizeof(buf),
-@@ -111,7 +130,13 @@
+@@ -132,7 +151,13 @@
if (len > *lenp)
len = *lenp;
buf[len] = '\0';
@@ -3802,7 +3672,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
return -EFAULT;
*lenp = len;
}
-@@ -122,100 +147,117 @@
+@@ -175,98 +200,107 @@
int LL_PROC_PROTO(proc_memory_alloc)
{
@@ -3820,11 +3690,10 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
*lenp = 0;
return 0;
}
-- if (write)
+- if (write)
- return -EINVAL;
--
+
- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_memory_sum());
-+
+ dummy = *table;
+ dummy.data = buf;
+ dummy.maxlen = sizeof(buf);
@@ -3840,7 +3709,6 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
- *lenp = len;
- *ppos += *lenp;
- return 0;
-+
+ return ll_proc_dostring(&dummy,write,filp,buffer,lenp, ppos);
}
@@ -3848,7 +3716,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
{
- char buf[22];
int len;
-+ char buf[22];
++ char buf[22];
+ struct ctl_table dummy;
DECLARE_LL_PROC_PPOS_DECL;
@@ -3862,12 +3730,11 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
}
- if (write)
- return -EINVAL;
-
-- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_pages_sum());
+ dummy = *table;
+ dummy.data = buf;
+ dummy.maxlen = sizeof(buf);
-+
+
+- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_pages_sum());
+ len = snprintf(buf, sizeof(buf), LPU64,
+ obd_pages_sum());
if (len > *lenp)
@@ -3878,7 +3745,6 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
- *lenp = len;
- *ppos += *lenp;
- return 0;
-+
+ return ll_proc_dostring(&dummy,write,filp,buffer,lenp, ppos);
}
@@ -3891,17 +3757,17 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
DECLARE_LL_PROC_PPOS_DECL;
- if (!*lenp || (*ppos && !write)) {
-+ if (write)
-+ return -EINVAL;
-+
-+ if (!*lenp || *ppos) {
- *lenp = 0;
- return 0;
- }
-- if (write)
-- return -EINVAL;
+- *lenp = 0;
+- return 0;
+- }
+ if (write)
+ return -EINVAL;
- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_memory_max());
++ if (!*lenp || *ppos) {
++ *lenp = 0;
++ return 0;
++ }
+ dummy = *table;
+ dummy.data = buf;
+ dummy.maxlen = sizeof(buf);
@@ -3916,35 +3782,33 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
- *lenp = len;
- *ppos += *lenp;
- return 0;
-+
+ return ll_proc_dostring(&dummy,write,filp,buffer,lenp, ppos);
}
int LL_PROC_PROTO(proc_pages_max)
{
-- char buf[22];
- int len;
-+ char buf[22];
+ char buf[22];
+ struct ctl_table dummy;
+ int len;
DECLARE_LL_PROC_PPOS_DECL;
- if (!*lenp || (*ppos && !write)) {
-+ if (write)
-+ return -EINVAL;
-+
+- *lenp = 0;
+- return 0;
+- }
+ if (write)
+ return -EINVAL;
+
+- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_pages_max());
+ if (!*lenp || *ppos) {
- *lenp = 0;
- return 0;
- }
-- if (write)
-- return -EINVAL;
++ *lenp = 0;
++ return 0;
++ }
+ dummy = *table;
+ dummy.data = buf;
+ dummy.maxlen = sizeof(buf);
+ len = snprintf(buf, sizeof(buf), LPU64,
+ obd_pages_max());
-
-- len = snprintf(buf, sizeof(buf), LPU64"\n", obd_pages_max());
if (len > *lenp)
len = *lenp;
buf[len] = '\0';
@@ -3953,15 +3817,11 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
- *lenp = len;
- *ppos += *lenp;
- return 0;
-+
+ return ll_proc_dostring(&dummy,write,filp,buffer,lenp, ppos);
}
-+
static cfs_sysctl_table_t obd_table[] = {
- {
- .ctl_name = OBD_FAIL_LOC,
-@@ -231,7 +273,8 @@
+@@ -284,7 +318,8 @@
.data = &obd_fail_val,
.maxlen = sizeof(int),
.mode = 0644,
@@ -3971,7 +3831,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_TIMEOUT,
-@@ -247,7 +290,7 @@
+@@ -300,7 +335,7 @@
.data = &obd_debug_peer_on_timeout,
.maxlen = sizeof(int),
.mode = 0644,
@@ -3980,7 +3840,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_DUMP_ON_TIMEOUT,
-@@ -255,7 +298,7 @@
+@@ -308,7 +343,7 @@
.data = &obd_dump_on_timeout,
.maxlen = sizeof(int),
.mode = 0644,
@@ -3989,7 +3849,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_DUMP_ON_EVICTION,
-@@ -263,7 +306,7 @@
+@@ -316,7 +351,7 @@
.data = &obd_dump_on_eviction,
.maxlen = sizeof(int),
.mode = 0644,
@@ -3998,7 +3858,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_MEMUSED,
-@@ -271,7 +314,8 @@
+@@ -324,7 +359,8 @@
.data = NULL,
.maxlen = 0,
.mode = 0444,
@@ -4008,7 +3868,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_PAGESUSED,
-@@ -279,7 +323,8 @@
+@@ -332,7 +368,8 @@
.data = NULL,
.maxlen = 0,
.mode = 0444,
@@ -4018,7 +3878,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_MAXMEMUSED,
-@@ -287,7 +332,8 @@
+@@ -340,7 +377,8 @@
.data = NULL,
.maxlen = 0,
.mode = 0444,
@@ -4028,7 +3888,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_MAXPAGESUSED,
-@@ -295,7 +341,8 @@
+@@ -348,7 +386,8 @@
.data = NULL,
.maxlen = 0,
.mode = 0444,
@@ -4038,7 +3898,7 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
},
{
.ctl_name = OBD_LDLM_TIMEOUT,
-@@ -319,15 +366,13 @@
+@@ -380,15 +419,13 @@
};
static cfs_sysctl_table_t parent_table[] = {
@@ -4061,10 +3921,10 @@ diff -urNad trunk~/lustre/obdclass/linux/linux-sysctl.c trunk/lustre/obdclass/li
};
void obd_sysctl_init (void)
-diff -urNad trunk~/lustre/obdclass/llog_obd.c trunk/lustre/obdclass/llog_obd.c
---- trunk~/lustre/obdclass/llog_obd.c 2007-12-24 21:15:32.000000000 +0100
-+++ trunk/lustre/obdclass/llog_obd.c 2008-10-07 13:30:45.000000000 +0200
-@@ -178,7 +178,7 @@
+diff -urNad lustre~/lustre/obdclass/llog_obd.c lustre/lustre/obdclass/llog_obd.c
+--- lustre~/lustre/obdclass/llog_obd.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/obdclass/llog_obd.c 2008-12-22 10:43:33.000000000 +0100
+@@ -203,7 +203,7 @@
struct lov_stripe_md *lsm, struct llog_cookie *logcookies,
int numcookies)
{
@@ -4073,7 +3933,7 @@ diff -urNad trunk~/lustre/obdclass/llog_obd.c trunk/lustre/obdclass/llog_obd.c
int rc;
ENTRY;
-@@ -188,10 +188,10 @@
+@@ -213,10 +213,10 @@
}
CTXT_CHECK_OP(ctxt, add, -EOPNOTSUPP);
@@ -4086,10 +3946,10 @@ diff -urNad trunk~/lustre/obdclass/llog_obd.c trunk/lustre/obdclass/llog_obd.c
RETURN(rc);
}
EXPORT_SYMBOL(llog_add);
-diff -urNad trunk~/lustre/obdclass/lprocfs_status.c trunk/lustre/obdclass/lprocfs_status.c
---- trunk~/lustre/obdclass/lprocfs_status.c 2008-05-20 04:03:20.000000000 +0200
-+++ trunk/lustre/obdclass/lprocfs_status.c 2008-10-07 13:30:45.000000000 +0200
-@@ -117,6 +117,8 @@
+diff -urNad lustre~/lustre/obdclass/lprocfs_status.c lustre/lustre/obdclass/lprocfs_status.c
+--- lustre~/lustre/obdclass/lprocfs_status.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/obdclass/lprocfs_status.c 2008-12-22 11:46:48.000000000 +0100
+@@ -132,6 +132,8 @@
proc->read_proc = read_proc;
proc->write_proc = write_proc;
proc->data = data;
@@ -4098,16 +3958,16 @@ diff -urNad trunk~/lustre/obdclass/lprocfs_status.c trunk/lustre/obdclass/lprocf
return 0;
}
-@@ -136,7 +138,7 @@
+@@ -151,7 +153,7 @@
LPROCFS_ENTRY();
OBD_FAIL_TIMEOUT(OBD_FAIL_LPROC_REMOVE, 10);
- if (!dp->deleted && dp->read_proc)
+ if (!LPROCFS_CHECK_DELETED(dp) && dp->read_proc)
- rc = dp->read_proc(page, &start, *ppos, PAGE_SIZE,
+ rc = dp->read_proc(page, &start, *ppos, PAGE_SIZE,
&eof, dp->data);
LPROCFS_EXIT();
-@@ -175,7 +177,7 @@
+@@ -190,7 +192,7 @@
int rc = -EIO;
LPROCFS_ENTRY();
@@ -4116,10 +3976,10 @@ diff -urNad trunk~/lustre/obdclass/lprocfs_status.c trunk/lustre/obdclass/lprocf
rc = dp->write_proc(f, buf, size, dp->data);
LPROCFS_EXIT();
return rc;
-diff -urNad trunk~/lustre/ptlrpc/service.c trunk/lustre/ptlrpc/service.c
---- trunk~/lustre/ptlrpc/service.c 2008-05-13 07:10:50.000000000 +0200
-+++ trunk/lustre/ptlrpc/service.c 2008-10-07 13:30:45.000000000 +0200
-@@ -1244,7 +1244,7 @@
+diff -urNad lustre~/lustre/ptlrpc/service.c lustre/lustre/ptlrpc/service.c
+--- lustre~/lustre/ptlrpc/service.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/ptlrpc/service.c 2008-12-22 10:43:33.000000000 +0100
+@@ -1268,7 +1268,7 @@
cfs_daemonize(name);
exit_fs(cfs_current());
current->fs = fs;
@@ -4128,10 +3988,10 @@ diff -urNad trunk~/lustre/ptlrpc/service.c trunk/lustre/ptlrpc/service.c
}
static void
-diff -urNad trunk~/lustre/quota/quotacheck_test.c trunk/lustre/quota/quotacheck_test.c
---- trunk~/lustre/quota/quotacheck_test.c 2008-01-03 07:31:16.000000000 +0100
-+++ trunk/lustre/quota/quotacheck_test.c 2008-10-07 13:30:45.000000000 +0200
-@@ -70,7 +70,14 @@
+diff -urNad lustre~/lustre/quota/quotacheck_test.c lustre/lustre/quota/quotacheck_test.c
+--- lustre~/lustre/quota/quotacheck_test.c 2008-11-25 13:59:37.000000000 +0100
++++ lustre/lustre/quota/quotacheck_test.c 2008-12-22 10:43:33.000000000 +0100
+@@ -97,7 +97,14 @@
if (ext3_test_bit(index, bitmap_bh->b_data)) {
CERROR("i: %d, ino: %lu\n", index, ino);
ll_sleep(1);
--
Lustre Debian Packaging
More information about the Pkg-lustre-svn-commit
mailing list