| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
|---|
| 2 | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
|---|
| 3 | 4 | * |
|---|
| .. | .. |
|---|
| 6 | 7 | * Defines macros and structures used in OCFS2 |
|---|
| 7 | 8 | * |
|---|
| 8 | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
|---|
| 9 | | - * |
|---|
| 10 | | - * This program is free software; you can redistribute it and/or |
|---|
| 11 | | - * modify it under the terms of the GNU General Public |
|---|
| 12 | | - * License as published by the Free Software Foundation; either |
|---|
| 13 | | - * version 2 of the License, or (at your option) any later version. |
|---|
| 14 | | - * |
|---|
| 15 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 16 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 17 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|---|
| 18 | | - * General Public License for more details. |
|---|
| 19 | | - * |
|---|
| 20 | | - * You should have received a copy of the GNU General Public |
|---|
| 21 | | - * License along with this program; if not, write to the |
|---|
| 22 | | - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|---|
| 23 | | - * Boston, MA 021110-1307, USA. |
|---|
| 24 | 10 | */ |
|---|
| 25 | 11 | |
|---|
| 26 | 12 | #ifndef OCFS2_H |
|---|
| .. | .. |
|---|
| 164 | 150 | |
|---|
| 165 | 151 | /* Storing max wait in usecs saves 24 bytes per inode */ |
|---|
| 166 | 152 | u32 ls_max; /* Max wait in USEC */ |
|---|
| 153 | + u64 ls_last; /* Last unlock time in USEC */ |
|---|
| 167 | 154 | }; |
|---|
| 168 | 155 | #endif |
|---|
| 169 | 156 | |
|---|
| .. | .. |
|---|
| 205 | 192 | #ifdef CONFIG_OCFS2_FS_STATS |
|---|
| 206 | 193 | struct ocfs2_lock_stats l_lock_prmode; /* PR mode stats */ |
|---|
| 207 | 194 | u32 l_lock_refresh; /* Disk refreshes */ |
|---|
| 195 | + u64 l_lock_wait; /* First lock wait time */ |
|---|
| 208 | 196 | struct ocfs2_lock_stats l_lock_exmode; /* EX mode stats */ |
|---|
| 209 | 197 | #endif |
|---|
| 210 | 198 | #ifdef CONFIG_DEBUG_LOCK_ALLOC |
|---|
| .. | .. |
|---|
| 235 | 223 | |
|---|
| 236 | 224 | struct ocfs2_dlm_debug { |
|---|
| 237 | 225 | struct kref d_refcnt; |
|---|
| 238 | | - struct dentry *d_locking_state; |
|---|
| 226 | + u32 d_filter_secs; |
|---|
| 239 | 227 | struct list_head d_lockres_tracking; |
|---|
| 240 | 228 | }; |
|---|
| 241 | 229 | |
|---|
| .. | .. |
|---|
| 408 | 396 | struct ocfs2_lock_res osb_nfs_sync_lockres; |
|---|
| 409 | 397 | struct rw_semaphore nfs_sync_rwlock; |
|---|
| 410 | 398 | struct ocfs2_lock_res osb_trim_fs_lockres; |
|---|
| 399 | + struct mutex obs_trim_fs_mutex; |
|---|
| 411 | 400 | struct ocfs2_dlm_debug *osb_dlm_debug; |
|---|
| 412 | 401 | |
|---|
| 413 | 402 | struct dentry *osb_debug_root; |
|---|
| 414 | | - struct dentry *osb_ctxt; |
|---|
| 415 | 403 | |
|---|
| 416 | 404 | wait_queue_head_t recovery_event; |
|---|
| 417 | 405 | |
|---|