From: yangsheng Date: Wed, 4 Jan 2012 11:22:04 +0000 (+0800) Subject: LU-506 kernel: FC15 - reiserfs remove & cleanup X-Git-Tag: 2.1.54~8 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=14475d1ada011baa16e439712ce4a32da109ecb3 LU-506 kernel: FC15 - reiserfs remove & cleanup -- Remove reiserfs support entirely. -- Change to don't use PATCHLEVEL, since kernel has forward to version 3.1. Signed-off-by: yangsheng Change-Id: I86d185ba522b5c9fc5e16bfe1d34be8720573e58 Reviewed-on: http://review.whamcloud.com/1915 Reviewed-by: Andreas Dilger Tested-by: Hudson Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/libcfs/libcfs/Makefile.in b/libcfs/libcfs/Makefile.in index 24bc9fd..c5026a4 100644 --- a/libcfs/libcfs/Makefile.in +++ b/libcfs/libcfs/Makefile.in @@ -6,10 +6,6 @@ libcfs-linux-objs += linux-fs.o linux-sync.o linux-tcpip.o libcfs-linux-objs += linux-lwt.o linux-proc.o linux-curproc.o libcfs-linux-objs += linux-utils.o linux-module.o -ifeq ($(PATCHLEVEL),6) -libcfs-linux-objs := $(addprefix linux/,$(libcfs-linux-objs)) -endif - default: all ifeq (@linux25@,no) @@ -22,6 +18,8 @@ sources: else sources: +libcfs-linux-objs := $(addprefix linux/,$(libcfs-linux-objs)) + endif libcfs-all-objs := debug.o fail.o nidstrings.o lwt.o module.o tracefile.o watchdog.o \ diff --git a/lustre/lvfs/Makefile.in b/lustre/lvfs/Makefile.in index 482d73a..da9ed6d 100644 --- a/lustre/lvfs/Makefile.in +++ b/lustre/lvfs/Makefile.in @@ -13,7 +13,7 @@ $(obj)/fsfilt-%.c: $(obj)/fsfilt_%.c ln -s $< $@ EXTRA_DIST = $(lvfs-objs:.o=.c) $(quotafmt-objs:.o=.c) \ - fsfilt_ext3.c fsfilt_reiserfs.c \ + fsfilt_ext3.c \ lvfs_internal.h lvfs_userfs.c \ lustre_quota_fmt.c lustre_quota_fmt.h quotafmt_test.c diff --git a/lustre/lvfs/fsfilt_reiserfs.c b/lustre/lvfs/fsfilt_reiserfs.c deleted file mode 100644 index 5d93679..0000000 --- a/lustre/lvfs/fsfilt_reiserfs.c +++ /dev/null @@ -1,257 +0,0 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * - * GPL HEADER START - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 only, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License version 2 for more details (a copy is included - * in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU General Public License - * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - * - * GPL HEADER END - */ -/* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - * - * lustre/lvfs/fsfilt_reiserfs.c - * - * Author: Andreas Dilger - */ - -/* - * NOTE - According to Hans Reiser, this could actually be implemented more - * efficiently than creating a directory and putting ASCII objids in it. - * Instead, we should return the reiserfs object ID as the lustre objid - * (although I'm not sure what impact that would have on backup/restore). - */ - -#define DEBUG_SUBSYSTEM S_FILTER - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* XXX We cannot include linux/reiserfs_fs.h here, because of symbols clash, - but we need MAX_HEIGHT definition for proper reserve calculations -#include -*/ -#define MAX_HEIGHT 5 /* maximal height of a tree. don't change this without - changing JOURNAL_PER_BALANCE_CNT */ - -static void *fsfilt_reiserfs_start(struct inode *inode, int op, - void *desc_private, int logs) -{ - return (void *)0xf00f00be; -} - -static void *fsfilt_reiserfs_brw_start(int objcount, struct fsfilt_objinfo *fso, - int niocount, struct niobuf_local *nb, - void *desc_private, int logs) -{ - return (void *)0xf00f00be; -} - -static int fsfilt_reiserfs_commit(struct inode *inode, void *handle, - int force_sync) -{ - if (handle != (void *)0xf00f00be) { - CERROR("bad handle %p", handle); - return -EINVAL; - } - - return 0; -} - -static int fsfilt_reiserfs_setattr(struct dentry *dentry, void *handle, - struct iattr *iattr, int do_trunc) -{ - struct inode *inode = dentry->d_inode; - int rc; - - cfs_lock_kernel(); - - /* A _really_ horrible hack to avoid removing the data stored - * in the block pointers; this is really the "small" stripe MD data. - * We can avoid further hackery by virtue of the MDS file size being - * zero all the time (which doesn't invoke block truncate at unlink - * time), so we assert we never change the MDS file size from zero. - */ - if (iattr->ia_valid & ATTR_SIZE && !do_trunc) { - /* ATTR_SIZE would invoke truncate: clear it */ - iattr->ia_valid &= ~ATTR_SIZE; - i_size_write(inode, iattr->ia_size); - - /* make sure _something_ gets set - so new inode - * goes to disk (probably won't work over XFS - */ - if (!iattr->ia_valid & ATTR_MODE) { - iattr->ia_valid |= ATTR_MODE; - iattr->ia_mode = inode->i_mode; - } - } - - /* We set these flags on the client, but have already checked perms - * so don't confuse inode_change_ok. */ - iattr->ia_valid &= ~(ATTR_MTIME_SET | ATTR_ATIME_SET); - - if (inode->i_op->setattr) { - rc = inode->i_op->setattr(dentry, iattr); - } else { - rc = inode_change_ok(inode, iattr); - if (!rc) - rc = inode_setattr(inode, iattr); - } - - cfs_unlock_kernel(); - - return rc; -} - -static int fsfilt_reiserfs_set_md(struct inode *inode, void *handle, - void *lmm, int lmm_size, const char *name) -{ - /* XXX write stripe data into MDS file itself */ - CERROR("not implemented yet\n"); - - return -ENOSYS; -} - -static int fsfilt_reiserfs_get_md(struct inode *inode, void *lmm, int lmm_size, - const char *name) -{ - if (lmm == NULL) - return i_size_read(inode); - - CERROR("not implemented yet\n"); - return -ENOSYS; -} - -static ssize_t fsfilt_reiserfs_readpage(struct file *file, char *buf, size_t count, - loff_t *offset) -{ - return file->f_op->read(file, buf, count, offset); -} - -static int fsfilt_reiserfs_add_journal_cb(struct obd_device *obd, - __u64 last_rcvd, void *handle, - fsfilt_cb_t cb_func, void *cb_data) -{ - static unsigned long next = 0; - - if (cfs_time_after(jiffies, next)) { - CERROR("no journal callback kernel patch, faking it...\n"); - next = jiffies + 300 * CFS_HZ; - } - - cb_func(obd, last_rcvd, cb_data, 0); - - return 0; -} - -static int fsfilt_reiserfs_statfs(struct super_block *sb, - struct obd_statfs *osfs) -{ - struct kstatfs sfs; - int rc; - - memset(&sfs, 0, sizeof(sfs)); - rc = ll_do_statfs(sb, &sfs); - statfs_pack(osfs, &sfs); - return rc; -} - -static int fsfilt_reiserfs_sync(struct super_block *sb) -{ - return fsync_dev(sb->s_dev); -} - -/* If fso is NULL, op is FSFILT operation, otherwise op is number of fso - objects. Logs is number of logfiles to update */ -static int fsfilt_reiserfs_get_op_len(int op, struct fsfilt_objinfo *fso, - int logs) -{ - if ( !fso ) { - switch(op) { - case FSFILT_OP_CREATE: - /* directory leaf, index & indirect & EA*/ - return MAX_HEIGHT + logs; - case FSFILT_OP_UNLINK: - return MAX_HEIGHT + logs; - } - - } else { - int i; - int needed = MAX_HEIGHT; - struct super_block *sb = fso->fso_dentry->d_inode->i_sb; - int blockpp = 1 << (CFS_PAGE_SHIFT - sb->s_blocksize_bits); - for (i = 0; i < op; i++, fso++) { - int nblocks = fso->fso_bufcnt * blockpp; - - needed += nblocks; - } - return needed + logs; - } - - return 0; -} -static struct fsfilt_operations fsfilt_reiserfs_ops = { - .fs_type = "reiserfs", - .fs_owner = THIS_MODULE, - .fs_start = fsfilt_reiserfs_start, - .fs_brw_start = fsfilt_reiserfs_brw_start, - .fs_commit = fsfilt_reiserfs_commit, - .fs_setattr = fsfilt_reiserfs_setattr, - .fs_set_md = fsfilt_reiserfs_set_md, - .fs_get_md = fsfilt_reiserfs_get_md, - .fs_readpage = fsfilt_reiserfs_readpage, - .fs_add_journal_cb = fsfilt_reiserfs_add_journal_cb, - .fs_statfs = fsfilt_reiserfs_statfs, - .fs_sync = fsfilt_reiserfs_sync, - .fs_get_op_len = fsfilt_reiserfs_get_op_len, -}; - -static int __init fsfilt_reiserfs_init(void) -{ - return fsfilt_register_ops(&fsfilt_reiserfs_ops); -} - -static void __exit fsfilt_reiserfs_exit(void) -{ - fsfilt_unregister_ops(&fsfilt_reiserfs_ops); -} - -MODULE_AUTHOR("Sun Microsystems, Inc. "); -MODULE_DESCRIPTION("Lustre reiserfs Filesystem Helper v0.1"); -MODULE_LICENSE("GPL"); - -module_init(fsfilt_reiserfs_init); -module_exit(fsfilt_reiserfs_exit);