]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blobdiff - include/xfs_buf_item.h
Merge back recent changes from xfs kernel headers.
[thirdparty/xfsprogs-dev.git] / include / xfs_buf_item.h
index 15ad26a8617dddac09c49c47061afdd7cffea1a1..07c708c2b529d4dc988880f5ea8f28f9a8db68e0 100644 (file)
@@ -1,33 +1,19 @@
 /*
- * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
+ * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation.
- * 
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * 
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like.  Any license provided herein, whether implied or
- * otherwise, applies only to this software file.  Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- * 
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- * 
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA  94043, or:
- * 
- * http://www.sgi.com 
- * 
- * For further information regarding this notice, see: 
- * 
- * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+ *
+ * This program is distributed in the hope that it would 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 for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef        __XFS_BUF_ITEM_H__
 #define        __XFS_BUF_ITEM_H__
@@ -76,11 +62,11 @@ typedef struct xfs_buf_log_format_t {
  */
 #define        XFS_BLI_CANCEL          0x2
 /*
- * This flag indicates that the buffer contains on disk 
- * user or group dquots and may require special recovery handling.   
+ * This flag indicates that the buffer contains on disk
+ * user or group dquots and may require special recovery handling.
  */
 #define        XFS_BLI_UDQUOT_BUF      0x4
-/* #define XFS_BLI_PDQUOT_BUF  0x8 */
+#define XFS_BLI_PDQUOT_BUF     0x8
 #define        XFS_BLI_GDQUOT_BUF      0x10
 
 #define        XFS_BLI_CHUNK           128
@@ -96,6 +82,7 @@ typedef struct xfs_buf_log_format_t {
 #define        XFS_BLI_STALE           0x04
 #define        XFS_BLI_LOGGED          0x08
 #define        XFS_BLI_INODE_ALLOC_BUF 0x10
+#define XFS_BLI_STALE_INODE    0x20
 
 
 #ifdef __KERNEL__
@@ -103,6 +90,15 @@ typedef struct xfs_buf_log_format_t {
 struct xfs_buf;
 struct ktrace;
 struct xfs_mount;
+struct xfs_buf_log_item;
+
+#if defined(XFS_BLI_TRACE)
+#define        XFS_BLI_TRACE_SIZE      32
+
+void   xfs_buf_item_trace(char *, struct xfs_buf_log_item *);
+#else
+#define        xfs_buf_item_trace(id, bip)
+#endif
 
 /*
  * This is the in core log item structure used to track information
@@ -115,7 +111,7 @@ typedef struct xfs_buf_log_item {
        unsigned int            bli_flags;      /* misc flags */
        unsigned int            bli_recur;      /* lock recursion count */
        atomic_t                bli_refcount;   /* cnt of tp refs */
-#ifdef DEBUG
+#ifdef XFS_BLI_TRACE
        struct ktrace           *bli_trace;     /* event trace buf */
 #endif
 #ifdef XFS_TRANS_DEBUG
@@ -130,36 +126,16 @@ typedef struct xfs_buf_log_item {
  * items which have been canceled and should not be replayed.
  */
 typedef struct xfs_buf_cancel {
-       xfs_daddr_t                     bc_blkno;
+       xfs_daddr_t             bc_blkno;
        uint                    bc_len;
        int                     bc_refcount;
        struct xfs_buf_cancel   *bc_next;
 } xfs_buf_cancel_t;
 
-#define        XFS_BLI_TRACE_SIZE      32
-
-
-#if defined(XFS_ALL_TRACE)
-#define        XFS_BLI_TRACE
-#endif
-
-#if !defined(DEBUG)
-#undef XFS_BLI_TRACE
-#endif
-
-#if defined(XFS_BLI_TRACE)
-void   xfs_buf_item_trace(char *, xfs_buf_log_item_t *);
-#else
-#define        xfs_buf_item_trace(id, bip)
-#endif
-
 void   xfs_buf_item_init(struct xfs_buf *, struct xfs_mount *);
 void   xfs_buf_item_relse(struct xfs_buf *);
 void   xfs_buf_item_log(xfs_buf_log_item_t *, uint, uint);
 uint   xfs_buf_item_dirty(xfs_buf_log_item_t *);
-int    xfs_buf_item_bits(uint *, uint, uint);
-int    xfs_buf_item_contig_bits(uint *, uint, uint);
-int    xfs_buf_item_next_bit(uint *, uint, uint);
 void   xfs_buf_attach_iodone(struct xfs_buf *,
                              void(*)(struct xfs_buf *, xfs_log_item_t *),
                              xfs_log_item_t *);
@@ -169,7 +145,7 @@ void        xfs_buf_iodone(struct xfs_buf *, xfs_buf_log_item_t *);
 #ifdef XFS_TRANS_DEBUG
 void
 xfs_buf_item_flush_log_debug(
-       struct xfs_buf *bp,                          
+       struct xfs_buf *bp,
        uint    first,
        uint    last);
 #else