From 5b6b18855a71b97e42d626adc828d8725f8d04c0 Mon Sep 17 00:00:00 2001 From: nikita Date: Wed, 23 Aug 2006 16:49:32 +0000 Subject: [PATCH] iam: clear hash (serving as a directory entry offset) sign bit: glibc getdents() is confused out of its (barely existing) intelligence otherwise --- .../kernel_patches/patches/ext3-iam-separate.patch | 8 ++++---- lustre/kernel_patches/patches/ext3-iam-uapi.patch | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lustre/kernel_patches/patches/ext3-iam-separate.patch b/lustre/kernel_patches/patches/ext3-iam-separate.patch index f848933..383026a 100644 --- a/lustre/kernel_patches/patches/ext3-iam-separate.patch +++ b/lustre/kernel_patches/patches/ext3-iam-separate.patch @@ -1,7 +1,7 @@ Index: iam/fs/ext3/Makefile =================================================================== --- iam.orig/fs/ext3/Makefile 2006-05-31 20:24:32.000000000 +0400 -+++ iam/fs/ext3/Makefile 2006-08-21 22:18:22.000000000 +0400 ++++ iam/fs/ext3/Makefile 2006-08-23 20:28:37.000000000 +0400 @@ -6,7 +6,7 @@ obj-$(CONFIG_EXT3_FS) += ext3.o ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \ @@ -2689,7 +2689,7 @@ Index: iam/fs/ext3/iam_lfix.c Index: iam/fs/ext3/iam_lvar.c =================================================================== --- iam.orig/fs/ext3/iam_lvar.c 2004-04-06 17:27:52.000000000 +0400 -+++ iam/fs/ext3/iam_lvar.c 2006-08-21 20:07:20.000000000 +0400 ++++ iam/fs/ext3/iam_lvar.c 2006-08-23 20:28:18.000000000 +0400 @@ -0,0 +1,864 @@ +/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- + * vim:expandtab:shiftwidth=8:tabstop=8: @@ -2864,7 +2864,7 @@ Index: iam/fs/ext3/iam_lvar.c + + result = 0; + strncpy((void *)&result, name, min(namelen, (int)sizeof result)); -+ return result << 1; ++ return (result << 1) & 0x7fffffff; +} + +static inline int e_eq(const struct lvar_leaf_entry *ent, @@ -5553,7 +5553,7 @@ Index: iam/fs/ext3/namei.c Index: iam/include/linux/lustre_iam.h =================================================================== --- iam.orig/include/linux/lustre_iam.h 2006-05-31 20:24:32.000000000 +0400 -+++ iam/include/linux/lustre_iam.h 2006-08-21 22:18:22.000000000 +0400 ++++ iam/include/linux/lustre_iam.h 2006-08-23 20:28:37.000000000 +0400 @@ -1,9 +1,68 @@ +/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- + * vim:expandtab:shiftwidth=8:tabstop=8: diff --git a/lustre/kernel_patches/patches/ext3-iam-uapi.patch b/lustre/kernel_patches/patches/ext3-iam-uapi.patch index b9fade3..b8db826 100644 --- a/lustre/kernel_patches/patches/ext3-iam-uapi.patch +++ b/lustre/kernel_patches/patches/ext3-iam-uapi.patch @@ -1,7 +1,7 @@ Index: iam/fs/ext3/Makefile =================================================================== ---- iam.orig/fs/ext3/Makefile 2006-08-21 22:18:22.000000000 +0400 -+++ iam/fs/ext3/Makefile 2006-08-21 22:18:23.000000000 +0400 +--- iam.orig/fs/ext3/Makefile 2006-08-23 20:28:37.000000000 +0400 ++++ iam/fs/ext3/Makefile 2006-08-23 20:28:38.000000000 +0400 @@ -6,7 +6,7 @@ obj-$(CONFIG_EXT3_FS) += ext3.o ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \ @@ -13,8 +13,8 @@ Index: iam/fs/ext3/Makefile ext3-$(CONFIG_EXT3_FS_POSIX_ACL) += acl.o Index: iam/fs/ext3/dir.c =================================================================== ---- iam.orig/fs/ext3/dir.c 2006-08-21 22:18:22.000000000 +0400 -+++ iam/fs/ext3/dir.c 2006-08-21 22:18:23.000000000 +0400 +--- iam.orig/fs/ext3/dir.c 2006-08-23 20:28:37.000000000 +0400 ++++ iam/fs/ext3/dir.c 2006-08-23 20:28:38.000000000 +0400 @@ -28,6 +28,7 @@ #include #include @@ -112,8 +112,8 @@ Index: iam/fs/ext3/dir.c (filp->f_version != inode->i_version)) { Index: iam/fs/ext3/file.c =================================================================== ---- iam.orig/fs/ext3/file.c 2006-08-21 22:18:22.000000000 +0400 -+++ iam/fs/ext3/file.c 2006-08-21 22:18:23.000000000 +0400 +--- iam.orig/fs/ext3/file.c 2006-08-23 20:28:37.000000000 +0400 ++++ iam/fs/ext3/file.c 2006-08-23 20:28:38.000000000 +0400 @@ -23,6 +23,7 @@ #include #include @@ -156,7 +156,7 @@ Index: iam/fs/ext3/file.c Index: iam/fs/ext3/iam-uapi.c =================================================================== --- iam.orig/fs/ext3/iam-uapi.c 2004-04-06 17:27:52.000000000 +0400 -+++ iam/fs/ext3/iam-uapi.c 2006-08-21 22:18:23.000000000 +0400 ++++ iam/fs/ext3/iam-uapi.c 2006-08-23 20:28:38.000000000 +0400 @@ -0,0 +1,361 @@ +/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- + * vim:expandtab:shiftwidth=8:tabstop=8: @@ -521,8 +521,8 @@ Index: iam/fs/ext3/iam-uapi.c +} Index: iam/fs/ext3/ioctl.c =================================================================== ---- iam.orig/fs/ext3/ioctl.c 2006-08-21 22:18:22.000000000 +0400 -+++ iam/fs/ext3/ioctl.c 2006-08-21 22:18:23.000000000 +0400 +--- iam.orig/fs/ext3/ioctl.c 2006-08-23 20:28:37.000000000 +0400 ++++ iam/fs/ext3/ioctl.c 2006-08-23 20:28:38.000000000 +0400 @@ -250,6 +250,6 @@ flags_err: @@ -533,8 +533,8 @@ Index: iam/fs/ext3/ioctl.c } Index: iam/include/linux/lustre_iam.h =================================================================== ---- iam.orig/include/linux/lustre_iam.h 2006-08-21 22:18:22.000000000 +0400 -+++ iam/include/linux/lustre_iam.h 2006-08-21 22:18:23.000000000 +0400 +--- iam.orig/include/linux/lustre_iam.h 2006-08-23 20:28:37.000000000 +0400 ++++ iam/include/linux/lustre_iam.h 2006-08-23 20:28:38.000000000 +0400 @@ -30,9 +30,6 @@ #ifndef __LINUX_LUSTRE_IAM_H__ #define __LINUX_LUSTRE_IAM_H__ -- 1.8.3.1