/* return value for btrfs_log_dentry_safe that means we don't need to log it at all */ #define BTRFS_NO_LOG_SYNC 256
/* * We can't use the tree log for whatever reason, force a transaction commit. * We use a negative value because there are functions through the logging code * that need to return an error (< 0 value), false (0) or true (1). Any negative * value will do, as it will cause the log to be marked for a full sync.
*/ #define BTRFS_LOG_FORCE_COMMIT (-(MAX_ERRNO + 1))
struct btrfs_log_ctx { int log_ret; int log_transid; bool log_new_dentries; bool logging_new_name; bool logging_new_delayed_dentries; /* Indicate if the inode being logged was logged before. */ bool logged_before; struct btrfs_inode *inode; struct list_head list; /* Only used for fast fsyncs. */ struct list_head ordered_extents; struct list_head conflict_inodes; int num_conflict_inodes; bool logging_conflict_inodes; /* * Used for fsyncs that need to copy items from the subvolume tree to * the log tree (full sync flag set or copy everything flag set) to * avoid allocating a temporary extent buffer while holding a lock on * an extent buffer of the subvolume tree and under the log transaction. * Also helps to avoid allocating and freeing a temporary extent buffer * in case we need to process multiple leaves from the subvolume tree.
*/ struct extent_buffer *scratch_eb;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.