xfs
[Top] [All Lists]

Re: [PATCH 4/5] xfs: remove m_litino

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/5] xfs: remove m_litino
From: Felix Blyakher <felixb@xxxxxxx>
Date: Thu, 26 Mar 2009 17:41:16 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20090318094132.224487000@xxxxxxxxxxxxxxxxxxxxxx>
References: <20090318094119.561416000@xxxxxxxxxxxxxxxxxxxxxx> <20090318094132.224487000@xxxxxxxxxxxxxxxxxxxxxx>

On Mar 18, 2009, at 4:41 AM, Christoph Hellwig wrote:

With the upcoming v3 inodes the inode data/attr area size needs to be
calculated for each specific inode, so we can't cache it in the superblock
anymore.

The change looks fine. But what is "v3 inodes"? I'm sure it's been
mentioned on the list, I'm just missing the history.

Reviewed-by: Felix Blyakher <felixb@xxxxxxx>




Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: xfs/fs/xfs/xfs_dinode.h
===================================================================
--- xfs.orig/fs/xfs/xfs_dinode.h        2009-02-19 20:44:20.755069389 +0100
+++ xfs/fs/xfs/xfs_dinode.h     2009-03-18 07:37:16.652977839 +0100
@@ -103,7 +103,9 @@ typedef enum xfs_dinode_fmt {
/*
 * Inode size for given fs.
 */
-#define        XFS_LITINO(mp)  ((mp)->m_litino)
+#define XFS_LITINO(mp) \
+       ((int)(((mp)->m_sb.sb_inodesize) - sizeof(struct xfs_dinode)))
+
#define XFS_BROOT_SIZE_ADJ      \
        (XFS_BTREE_LBLOCK_LEN - sizeof(xfs_bmdr_block_t))

Index: xfs/fs/xfs/xfs_mount.c
===================================================================
--- xfs.orig/fs/xfs/xfs_mount.c 2009-03-18 07:37:15.633978066 +0100
+++ xfs/fs/xfs/xfs_mount.c      2009-03-18 07:37:20.566978952 +0100
@@ -651,7 +651,6 @@ xfs_mount_common(xfs_mount_t *mp, xfs_sb
        mp->m_sectbb_log = sbp->sb_sectlog - BBSHIFT;
        mp->m_agno_log = xfs_highbit32(sbp->sb_agcount - 1) + 1;
        mp->m_agino_log = sbp->sb_inopblog + sbp->sb_agblklog;
-       mp->m_litino = sbp->sb_inodesize - sizeof(struct xfs_dinode);
        mp->m_blockmask = sbp->sb_blocksize - 1;
        mp->m_blockwsize = sbp->sb_blocksize >> XFS_WORDLOG;
        mp->m_blockwmask = mp->m_blockwsize - 1;
Index: xfs/fs/xfs/xfs_mount.h
===================================================================
--- xfs.orig/fs/xfs/xfs_mount.h 2009-03-18 07:37:16.077856262 +0100
+++ xfs/fs/xfs/xfs_mount.h      2009-03-18 07:37:20.585978718 +0100
@@ -203,7 +203,6 @@ typedef struct xfs_mount {
        uint                    m_attr_node_ents; /* #entries in attr danode */
        int                     m_ialloc_inos;  /* inodes in inode allocation */
        int                     m_ialloc_blks;  /* blocks in inode allocation */
-       int                     m_litino;       /* size of inode union area */
        int                     m_inoalign_mask;/* mask sb_inoalignmt if used */
        uint                    m_qflags;       /* quota status flags */
        xfs_trans_reservations_t m_reservations;/* precomputed res values */

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>