2 * Copyright (c) 2000-2003 Silicon Graphics, Inc.
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it would be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 #ifndef __XFS_DQUOT_ITEM_H__
19 #define __XFS_DQUOT_ITEM_H__
24 struct xfs_qoff_logitem
;
26 typedef struct xfs_dq_logitem
{
27 xfs_log_item_t qli_item
; /* common portion */
28 struct xfs_dquot
*qli_dquot
; /* dquot ptr */
29 xfs_lsn_t qli_flush_lsn
; /* lsn at last flush */
30 unsigned short qli_pushbuf_flag
; /* 1 bit used in push_ail */
32 uint64_t qli_push_owner
;
34 xfs_dq_logformat_t qli_format
; /* logged structure */
37 typedef struct xfs_qoff_logitem
{
38 xfs_log_item_t qql_item
; /* common portion */
39 struct xfs_qoff_logitem
*qql_start_lip
; /* qoff-start logitem, if any */
40 xfs_qoff_logformat_t qql_format
; /* logged structure */
44 extern void xfs_qm_dquot_logitem_init(struct xfs_dquot
*);
45 extern xfs_qoff_logitem_t
*xfs_qm_qoff_logitem_init(struct xfs_mount
*,
46 struct xfs_qoff_logitem
*, uint
);
47 extern xfs_qoff_logitem_t
*xfs_trans_get_qoff_item(struct xfs_trans
*,
48 struct xfs_qoff_logitem
*, uint
);
49 extern void xfs_trans_log_quotaoff_item(struct xfs_trans
*,
50 struct xfs_qoff_logitem
*);
52 #endif /* __XFS_DQUOT_ITEM_H__ */