···4949 OCFS2_LOCK_TYPE_QINFO,5050 OCFS2_LOCK_TYPE_NFS_SYNC,5151 OCFS2_LOCK_TYPE_ORPHAN_SCAN,5252+ OCFS2_LOCK_TYPE_REFCOUNT,5253 OCFS2_NUM_LOCK_TYPES5354};5455···9089 case OCFS2_LOCK_TYPE_ORPHAN_SCAN:9190 c = 'P';9291 break;9292+ case OCFS2_LOCK_TYPE_REFCOUNT:9393+ c = 'T';9494+ break;9395 default:9496 c = '\0';9597 }···114110 [OCFS2_LOCK_TYPE_QINFO] = "Quota",115111 [OCFS2_LOCK_TYPE_NFS_SYNC] = "NFSSync",116112 [OCFS2_LOCK_TYPE_ORPHAN_SCAN] = "OrphanScan",113113+ [OCFS2_LOCK_TYPE_REFCOUNT] = "Refcount",117114};118115119116static inline const char *ocfs2_lock_type_string(enum ocfs2_lock_type type)
+36
fs/ocfs2/refcounttree.h
···11+/* -*- mode: c; c-basic-offset: 8; -*-22+ * vim: noexpandtab sw=8 ts=8 sts=0:33+ *44+ * refcounttree.h55+ *66+ * Copyright (C) 2009 Oracle. All rights reserved.77+ *88+ * This program is free software; you can redistribute it and/or99+ * modify it under the terms of the GNU General Public1010+ * License version 2 as published by the Free Software Foundation.1111+ *1212+ * This program is distributed in the hope that it will be useful,1313+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1414+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU1515+ * General Public License for more details.1616+ */1717+#ifndef OCFS2_REFCOUNTTREE_H1818+#define OCFS2_REFCOUNTTREE_H1919+2020+struct ocfs2_refcount_tree {2121+ struct rb_node rf_node;2222+ u64 rf_blkno;2323+ u32 rf_generation;2424+ struct rw_semaphore rf_sem;2525+ struct ocfs2_lock_res rf_lockres;2626+ struct kref rf_getcnt;2727+ int rf_removed;2828+2929+ /* the following 4 fields are used by caching_info. */3030+ struct ocfs2_caching_info rf_ci;3131+ spinlock_t rf_lock;3232+ struct mutex rf_io_mutex;3333+ struct super_block *rf_sb;3434+};3535+3636+#endif /* OCFS2_REFCOUNTTREE_H */