~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/xfs/xfs_rmap_item.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/xfs/xfs_rmap_item.h (Architecture ppc) and /fs/xfs/xfs_rmap_item.h (Architecture m68k)


  1 // SPDX-License-Identifier: GPL-2.0+                1 // SPDX-License-Identifier: GPL-2.0+
  2 /*                                                  2 /*
  3  * Copyright (C) 2016 Oracle.  All Rights Rese      3  * Copyright (C) 2016 Oracle.  All Rights Reserved.
  4  * Author: Darrick J. Wong <darrick.wong@oracl      4  * Author: Darrick J. Wong <darrick.wong@oracle.com>
  5  */                                                 5  */
  6 #ifndef __XFS_RMAP_ITEM_H__                         6 #ifndef __XFS_RMAP_ITEM_H__
  7 #define __XFS_RMAP_ITEM_H__                         7 #define __XFS_RMAP_ITEM_H__
  8                                                     8 
  9 /*                                                  9 /*
 10  * There are (currently) three pairs of rmap b     10  * There are (currently) three pairs of rmap btree redo item types: map, unmap,
 11  * and convert.  The common abbreviations for      11  * and convert.  The common abbreviations for these are RUI (rmap update
 12  * intent) and RUD (rmap update done).  The re     12  * intent) and RUD (rmap update done).  The redo item type is encoded in the
 13  * flags field of each xfs_map_extent.             13  * flags field of each xfs_map_extent.
 14  *                                                 14  *
 15  * *I items should be recorded in the *first*      15  * *I items should be recorded in the *first* of a series of rolled
 16  * transactions, and the *D items should be re     16  * transactions, and the *D items should be recorded in the same transaction
 17  * that records the associated rmapbt updates.     17  * that records the associated rmapbt updates.  Typically, the first
 18  * transaction will record a bmbt update, foll     18  * transaction will record a bmbt update, followed by some number of
 19  * transactions containing rmapbt updates, and     19  * transactions containing rmapbt updates, and finally transactions with any
 20  * bnobt/cntbt updates.                            20  * bnobt/cntbt updates.
 21  *                                                 21  *
 22  * Should the system crash after the commit of     22  * Should the system crash after the commit of the first transaction but
 23  * before the commit of the final transaction      23  * before the commit of the final transaction in a series, log recovery will
 24  * use the redo information recorded by the in     24  * use the redo information recorded by the intent items to replay the
 25  * (rmapbt/bnobt/cntbt) metadata updates in th     25  * (rmapbt/bnobt/cntbt) metadata updates in the non-first transaction.
 26  */                                                26  */
 27                                                    27 
 28 /* kernel only RUI/RUD definitions */              28 /* kernel only RUI/RUD definitions */
 29                                                    29 
 30 struct xfs_mount;                                  30 struct xfs_mount;
 31 struct kmem_cache;                                 31 struct kmem_cache;
 32                                                    32 
 33 /*                                                 33 /*
 34  * Max number of extents in fast allocation pa     34  * Max number of extents in fast allocation path.
 35  */                                                35  */
 36 #define XFS_RUI_MAX_FAST_EXTENTS        16         36 #define XFS_RUI_MAX_FAST_EXTENTS        16
 37                                                    37 
 38 /*                                                 38 /*
 39  * This is the "rmap update intent" log item.      39  * This is the "rmap update intent" log item.  It is used to log the fact that
 40  * some reverse mappings need to change.  It i     40  * some reverse mappings need to change.  It is used in conjunction with the
 41  * "rmap update done" log item described below     41  * "rmap update done" log item described below.
 42  *                                                 42  *
 43  * These log items follow the same rules as st     43  * These log items follow the same rules as struct xfs_efi_log_item; see the
 44  * comments about that structure (in xfs_extfr     44  * comments about that structure (in xfs_extfree_item.h) for more details.
 45  */                                                45  */
 46 struct xfs_rui_log_item {                          46 struct xfs_rui_log_item {
 47         struct xfs_log_item             rui_it     47         struct xfs_log_item             rui_item;
 48         atomic_t                        rui_re     48         atomic_t                        rui_refcount;
 49         atomic_t                        rui_ne     49         atomic_t                        rui_next_extent;
 50         struct xfs_rui_log_format       rui_fo     50         struct xfs_rui_log_format       rui_format;
 51 };                                                 51 };
 52                                                    52 
 53 static inline size_t                               53 static inline size_t
 54 xfs_rui_log_item_sizeof(                           54 xfs_rui_log_item_sizeof(
 55         unsigned int            nr)                55         unsigned int            nr)
 56 {                                                  56 {
 57         return offsetof(struct xfs_rui_log_ite     57         return offsetof(struct xfs_rui_log_item, rui_format) +
 58                         xfs_rui_log_format_siz     58                         xfs_rui_log_format_sizeof(nr);
 59 }                                                  59 }
 60                                                    60 
 61 /*                                                 61 /*
 62  * This is the "rmap update done" log item.  I     62  * This is the "rmap update done" log item.  It is used to log the fact that
 63  * some rmapbt updates mentioned in an earlier     63  * some rmapbt updates mentioned in an earlier rui item have been performed.
 64  */                                                64  */
 65 struct xfs_rud_log_item {                          65 struct xfs_rud_log_item {
 66         struct xfs_log_item             rud_it     66         struct xfs_log_item             rud_item;
 67         struct xfs_rui_log_item         *rud_r     67         struct xfs_rui_log_item         *rud_ruip;
 68         struct xfs_rud_log_format       rud_fo     68         struct xfs_rud_log_format       rud_format;
 69 };                                                 69 };
 70                                                    70 
 71 extern struct kmem_cache        *xfs_rui_cache     71 extern struct kmem_cache        *xfs_rui_cache;
 72 extern struct kmem_cache        *xfs_rud_cache     72 extern struct kmem_cache        *xfs_rud_cache;
 73                                                    73 
 74 struct xfs_rmap_intent;                            74 struct xfs_rmap_intent;
 75                                                    75 
 76 void xfs_rmap_defer_add(struct xfs_trans *tp,      76 void xfs_rmap_defer_add(struct xfs_trans *tp, struct xfs_rmap_intent *ri);
 77                                                    77 
 78 #endif  /* __XFS_RMAP_ITEM_H__ */                  78 #endif  /* __XFS_RMAP_ITEM_H__ */
 79                                                    79 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php