From: Mr NeilBrown Date: Fri, 30 Oct 2020 04:18:21 +0000 (+1100) Subject: LU-14353 obd: move debug.c to obdecho X-Git-Tag: 2.14.51~127 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=8fc5fc5889c052c3d0ed58da0333dc30e33080e8 LU-14353 obd: move debug.c to obdecho The code in obdclass/debug.c is only used from obdecho/, so move the file there and clean it up a little on the way (e.g. spaces to TABs). Similarly lustre_debug.h contains very little that is used outside of obdecho. Move that little (LL_CDEBUG_PAGE()) into lustre_lib.h, and add the declarations needed for debug.c into echo_internal.h. Test-Parameters: trivial Signed-off-by: Mr NeilBrown Change-Id: Ia1bcf3f3e1453130ed1adc75918bdad23eb5b5c7 Reviewed-on: https://review.whamcloud.com/41290 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/lustre/include/Makefile.am b/lustre/include/Makefile.am index 584b646..3d17079 100644 --- a/lustre/include/Makefile.am +++ b/lustre/include/Makefile.am @@ -48,7 +48,6 @@ EXTRA_DIST = \ lustre_barrier.h \ lustre_compat.h \ lustre_crypto.h \ - lustre_debug.h \ lustre_disk.h \ lustre_dlm_flags.h \ lustre_dlm.h \ diff --git a/lustre/include/lustre_debug.h b/lustre/include/lustre_debug.h deleted file mode 100644 index bf67e68..0000000 --- a/lustre/include/lustre_debug.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * 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.gnu.org/licenses/gpl-2.0.html - * - * GPL HEADER END - */ -/* - * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - * - * Copyright (c) 2011, 2014, Intel Corporation. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - */ - -#ifndef _LUSTRE_DEBUG_H -#define _LUSTRE_DEBUG_H - -/** \defgroup debug debug - * - * @{ - */ - -#include -#include - -#define LL_CDEBUG_PAGE(mask, page, fmt, arg...) \ - CDEBUG(mask, "page %p map %p index %lu flags %lx count %u priv %0lx: " \ - fmt, page, page->mapping, page->index, (long)page->flags, \ - page_count(page), page_private(page), ## arg) - -#define ASSERT_MAX_SIZE_MB 60000ULL -#define ASSERT_PAGE_INDEX(index, OP) \ -do { if (index > ASSERT_MAX_SIZE_MB << (20 - PAGE_SHIFT)) { \ - CERROR("bad page index %lu > %llu\n", index, \ - ASSERT_MAX_SIZE_MB << (20 - PAGE_SHIFT)); \ - libcfs_debug = ~0UL; \ - OP; \ -}} while(0) - -#define ASSERT_FILE_OFFSET(offset, OP) \ -do { if (offset > ASSERT_MAX_SIZE_MB << 20) { \ - CERROR("bad file offset %llu > %llu\n", offset, \ - ASSERT_MAX_SIZE_MB << 20); \ - libcfs_debug = ~0UL; \ - OP; \ -}} while(0) - -/* lib/debug.c */ -void dump_lniobuf(struct niobuf_local *lnb); -int dump_req(struct ptlrpc_request *req); -int block_debug_setup(void *addr, int len, __u64 off, __u64 id); -int block_debug_check(char *who, void *addr, int len, __u64 off, __u64 id); - -/** @} debug */ - -#endif diff --git a/lustre/include/lustre_lib.h b/lustre/include/lustre_lib.h index fa6306e..2b64fae 100644 --- a/lustre/include/lustre_lib.h +++ b/lustre/include/lustre_lib.h @@ -90,6 +90,11 @@ int do_set_info_async(struct obd_import *imp, void target_send_reply(struct ptlrpc_request *req, int rc, int fail_id); +#define LL_CDEBUG_PAGE(mask, page, fmt, arg...) \ + CDEBUG(mask, "page %p map %p index %lu flags %lx count %u priv %0lx: " \ + fmt, page, page->mapping, page->index, (long)page->flags, \ + page_count(page), page_private(page), ## arg) + /** @} lib */ #endif /* _LUSTRE_LIB_H */ diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h index c05c13b..e5083c6 100644 --- a/lustre/llite/llite_internal.h +++ b/lustre/llite/llite_internal.h @@ -32,7 +32,7 @@ #ifndef LLITE_INTERNAL_H #define LLITE_INTERNAL_H -#include +#include #include /* for s2sbi */ #include #include diff --git a/lustre/obdclass/Makefile.in b/lustre/obdclass/Makefile.in index 50b4c46..a99989a 100644 --- a/lustre/obdclass/Makefile.in +++ b/lustre/obdclass/Makefile.in @@ -3,7 +3,7 @@ MODULES := obdclass llog_test default: all obdclass-all-objs := llog.o llog_cat.o llog_obd.o llog_swab.o llog_osd.o -obdclass-all-objs += class_obd.o debug.o genops.o llog_ioctl.o +obdclass-all-objs += class_obd.o genops.o llog_ioctl.o obdclass-all-objs += lprocfs_status.o lprocfs_counters.o obdclass-all-objs += lustre_handles.o lustre_peer.o local_storage.o obdclass-all-objs += statfs_pack.o obdo.o obd_config.o obd_mount.o obd_sysfs.o diff --git a/lustre/obdclass/class_obd.c b/lustre/obdclass/class_obd.c index 6a9dc6c..cf1dbe2 100644 --- a/lustre/obdclass/class_obd.c +++ b/lustre/obdclass/class_obd.c @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include diff --git a/lustre/obdclass/debug.c b/lustre/obdclass/debug.c deleted file mode 100644 index bfa1bad..0000000 --- a/lustre/obdclass/debug.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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.gnu.org/licenses/gpl-2.0.html - * - * GPL HEADER END - */ -/* - * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - * - * Copyright (c) 2012, 2014, Intel Corporation. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - * - * lustre/obdclass/debug.c - * - * Helper routines for dumping data structs for debugging. - */ - -#define DEBUG_SUBSYSTEM D_OTHER - - -#include -#include -#include - -void dump_lniobuf(struct niobuf_local *nb) -{ - CDEBUG(D_RPCTRACE, - "niobuf_local: file_offset=%lld, len=%d, page=%p, rc=%d\n", - nb->lnb_file_offset, nb->lnb_len, nb->lnb_page, nb->lnb_rc); - CDEBUG(D_RPCTRACE, "nb->page: index = %ld\n", - nb->lnb_page ? page_index(nb->lnb_page) : -1); -} - -#define LPDS sizeof(__u64) -int block_debug_setup(void *addr, int len, __u64 off, __u64 id) -{ - LASSERT(addr); - - off = cpu_to_le64 (off); - id = cpu_to_le64 (id); - memcpy(addr, (char *)&off, LPDS); - memcpy(addr + LPDS, (char *)&id, LPDS); - - addr += len - LPDS - LPDS; - memcpy(addr, (char *)&off, LPDS); - memcpy(addr + LPDS, (char *)&id, LPDS); - - return 0; -} -EXPORT_SYMBOL(block_debug_setup); - -int block_debug_check(char *who, void *addr, int end, __u64 off, __u64 id) -{ - __u64 ne_off; - int err = 0; - - LASSERT(addr); - - ne_off = le64_to_cpu (off); - id = le64_to_cpu (id); - if (memcmp(addr, (char *)&ne_off, LPDS)) { - CDEBUG(D_ERROR, "%s: id %#llx offset %llu off: %#llx != " - "%#llx\n", who, id, off, *(__u64 *)addr, ne_off); - err = -EINVAL; - } - if (memcmp(addr + LPDS, (char *)&id, LPDS)) { - CDEBUG(D_ERROR, "%s: id %#llx offset %llu id: %#llx != %#llx\n", - who, id, off, *(__u64 *)(addr + LPDS), id); - err = -EINVAL; - } - - addr += end - LPDS - LPDS; - if (memcmp(addr, (char *)&ne_off, LPDS)) { - CDEBUG(D_ERROR, "%s: id %#llx offset %llu end off: %#llx != " - "%#llx\n", who, id, off, *(__u64 *)addr, ne_off); - err = -EINVAL; - } - if (memcmp(addr + LPDS, (char *)&id, LPDS)) { - CDEBUG(D_ERROR, "%s: id %#llx offset %llu end id: %#llx != " - "%#llx\n", who, id, off, *(__u64 *)(addr + LPDS), id); - err = -EINVAL; - } - - return err; -} -EXPORT_SYMBOL(block_debug_check); -#undef LPDS diff --git a/lustre/obdecho/Makefile.in b/lustre/obdecho/Makefile.in index 0c5fb86..db4ebe3 100644 --- a/lustre/obdecho/Makefile.in +++ b/lustre/obdecho/Makefile.in @@ -1,5 +1,5 @@ MODULES := obdecho -obdecho-objs := echo_client.o +obdecho-objs := echo_client.o debug.o @SERVER_TRUE@obdecho-objs += echo.o EXTRA_DIST = $(obdecho-objs:%.o=%.c) echo_internal.h diff --git a/lustre/obdecho/debug.c b/lustre/obdecho/debug.c new file mode 100644 index 0000000..732d44c --- /dev/null +++ b/lustre/obdecho/debug.c @@ -0,0 +1,100 @@ +/* + * 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.gnu.org/licenses/gpl-2.0.html + * + * GPL HEADER END + */ +/* + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + * + * Copyright (c) 2012, 2014, Intel Corporation. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. + * + * lustre/obdclass/debug.c + * + * Helper routines for dumping data structs for debugging. + */ + +#define DEBUG_SUBSYSTEM D_OTHER + + +#include +#include "echo_internal.h" +#include + +#define LPDS sizeof(__u64) +int block_debug_setup(void *addr, int len, __u64 off, __u64 id) +{ + LASSERT(addr); + + off = cpu_to_le64 (off); + id = cpu_to_le64 (id); + memcpy(addr, (char *)&off, LPDS); + memcpy(addr + LPDS, (char *)&id, LPDS); + + addr += len - LPDS - LPDS; + memcpy(addr, (char *)&off, LPDS); + memcpy(addr + LPDS, (char *)&id, LPDS); + + return 0; +} +EXPORT_SYMBOL(block_debug_setup); + +int block_debug_check(char *who, void *addr, int end, __u64 off, __u64 id) +{ + __u64 ne_off; + int err = 0; + + LASSERT(addr); + + ne_off = le64_to_cpu(off); + id = le64_to_cpu(id); + if (memcmp(addr, (char *)&ne_off, LPDS)) { + CDEBUG(D_ERROR, + "%s: id %#llx offset %llu off: %#llx != %#llx\n", + who, id, off, *(__u64 *)addr, ne_off); + err = -EINVAL; + } + if (memcmp(addr + LPDS, (char *)&id, LPDS)) { + CDEBUG(D_ERROR, "%s: id %#llx offset %llu id: %#llx != %#llx\n", + who, id, off, *(__u64 *)(addr + LPDS), id); + err = -EINVAL; + } + + addr += end - LPDS - LPDS; + if (memcmp(addr, (char *)&ne_off, LPDS)) { + CDEBUG(D_ERROR, + "%s: id %#llx offset %llu end off: %#llx != %#llx\n", + who, id, off, *(__u64 *)addr, ne_off); + err = -EINVAL; + } + if (memcmp(addr + LPDS, (char *)&id, LPDS)) { + CDEBUG(D_ERROR, + "%s: id %#llx offset %llu end id: %#llx != %#llx\n", + who, id, off, *(__u64 *)(addr + LPDS), id); + err = -EINVAL; + } + + return err; +} +EXPORT_SYMBOL(block_debug_check); +#undef LPDS diff --git a/lustre/obdecho/echo.c b/lustre/obdecho/echo.c index d866b68..08c72b2 100644 --- a/lustre/obdecho/echo.c +++ b/lustre/obdecho/echo.c @@ -39,7 +39,6 @@ #include #include -#include #include #include diff --git a/lustre/obdecho/echo_client.c b/lustre/obdecho/echo_client.c index b9da619..5405066 100644 --- a/lustre/obdecho/echo_client.c +++ b/lustre/obdecho/echo_client.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include diff --git a/lustre/obdecho/echo_internal.h b/lustre/obdecho/echo_internal.h index c1e6871..ed5e556 100644 --- a/lustre/obdecho/echo_internal.h +++ b/lustre/obdecho/echo_internal.h @@ -53,4 +53,8 @@ void echo_persistent_pages_fini(void); /* mapping value to tell page is not encrypted */ #define ECHO_MAPPING_UNENCRYPTED ((void *)1) +/* debug.c */ +int block_debug_setup(void *addr, int len, u64 off, u64 id); +int block_debug_check(char *who, void *addr, int len, u64 off, u64 id); + #endif diff --git a/lustre/osc/osc_request.c b/lustre/osc/osc_request.c index 030c999..bea61cd 100644 --- a/lustre/osc/osc_request.c +++ b/lustre/osc/osc_request.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include diff --git a/lustre/ptlrpc/layout.c b/lustre/ptlrpc/layout.c index 5c99dc1..a2ac442 100644 --- a/lustre/ptlrpc/layout.c +++ b/lustre/ptlrpc/layout.c @@ -47,7 +47,6 @@ #include #include -#include #include #include #include