From: Dave Chinner <dchinner@xxxxxxxxxx> The on disk log format definitions for the icreate log item are intertwined with the kernel-only in-memory log item definitions. Separate the log format definitions out into their own header file so they can easily be shared with userspace. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> --- include/Makefile | 1 - include/libxfs.h | 1 - include/libxlog.h | 1 - include/xfs_icreate_item.h | 55 ---------------------------------------------- include/xfs_log_format.h | 18 +++++++++++++++ 5 files changed, 18 insertions(+), 58 deletions(-) delete mode 100644 include/xfs_icreate_item.h diff --git a/include/Makefile b/include/Makefile index 8f738a8..ab71aad 100644 --- a/include/Makefile +++ b/include/Makefile @@ -30,7 +30,6 @@ QAHFILES = libxfs.h libxlog.h \ xfs_format.h \ xfs_ialloc.h \ xfs_ialloc_btree.h \ - xfs_icreate_item.h \ xfs_inode.h \ xfs_inum.h \ xfs_log_format.h \ diff --git a/include/libxfs.h b/include/libxfs.h index 646ca79..bc90082 100644 --- a/include/libxfs.h +++ b/include/libxfs.h @@ -59,7 +59,6 @@ #include <xfs/xfs_bmap.h> #include <xfs/xfs_trace.h> #include <xfs/xfs_symlink.h> -#include <xfs/xfs_icreate_item.h> #ifndef ARRAY_SIZE diff --git a/include/libxlog.h b/include/libxlog.h index ee23212..e65b607 100644 --- a/include/libxlog.h +++ b/include/libxlog.h @@ -48,7 +48,6 @@ struct xlog { }; #include <xfs/xfs_log_recover.h> -#include <xfs/xfs_icreate_item.h> /* * macros mapping kernel code to user code diff --git a/include/xfs_icreate_item.h b/include/xfs_icreate_item.h deleted file mode 100644 index 70dc03c..0000000 --- a/include/xfs_icreate_item.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2008-2010, Dave Chinner - * 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. 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_ICREATE_ITEM_H -#define XFS_ICREATE_ITEM_H 1 - -/* - * on disk log item structure - * - * Log recovery assumes the first two entries are the type and size and they fit - * in 32 bits. Also in host order (ugh) so they have to be 32 bit aligned so - * decoding can be done correctly. - */ -struct xfs_icreate_log { - __uint16_t icl_type; /* type of log format structure */ - __uint16_t icl_size; /* size of log format structure */ - __be32 icl_ag; /* ag being allocated in */ - __be32 icl_agbno; /* start block of inode range */ - __be32 icl_count; /* number of inodes to initialise */ - __be32 icl_isize; /* size of inodes */ - __be32 icl_length; /* length of extent to initialise */ - __be32 icl_gen; /* inode generation number to use */ -}; - -#ifdef __KERNEL__ - -/* in memory log item structure */ -struct xfs_icreate_item { - struct xfs_log_item ic_item; - struct xfs_icreate_log ic_format; -}; - -extern kmem_zone_t *xfs_icreate_zone; /* inode create item zone */ - -void xfs_icreate_log(struct xfs_trans *tp, xfs_agnumber_t agno, - xfs_agblock_t agbno, unsigned int count, - unsigned int inode_size, xfs_agblock_t length, - unsigned int generation); -#endif /* __KERNEL__ */ - -#endif /* XFS_ICREATE_ITEM_H */ diff --git a/include/xfs_log_format.h b/include/xfs_log_format.h index 5963ec7..02639c7 100644 --- a/include/xfs_log_format.h +++ b/include/xfs_log_format.h @@ -602,4 +602,22 @@ typedef struct xfs_qoff_logformat { #define XFS_ALL_QUOTA_CHKD \ (XFS_UQUOTA_CHKD | XFS_GQUOTA_CHKD | XFS_PQUOTA_CHKD) +/* + * Inode create log item structure + * + * Log recovery assumes the first two entries are the type and size and they fit + * in 32 bits. Also in host order (ugh) so they have to be 32 bit aligned so + * decoding can be done correctly. + */ +struct xfs_icreate_log { + __uint16_t icl_type; /* type of log format structure */ + __uint16_t icl_size; /* size of log format structure */ + __be32 icl_ag; /* ag being allocated in */ + __be32 icl_agbno; /* start block of inode range */ + __be32 icl_count; /* number of inodes to initialise */ + __be32 icl_isize; /* size of inodes */ + __be32 icl_length; /* length of extent to initialise */ + __be32 icl_gen; /* inode generation number to use */ +}; + #endif /* __XFS_LOG_FORMAT_H__ */ -- 1.8.3.2 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs