diff options
Diffstat (limited to 'fs/xfs/xfs_itable.c')
-rw-r--r-- | fs/xfs/xfs_itable.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 930ebd86beba..ce73eb34620d 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c | |||
@@ -57,6 +57,7 @@ xfs_bulkstat_one_int( | |||
57 | { | 57 | { |
58 | struct xfs_icdinode *dic; /* dinode core info pointer */ | 58 | struct xfs_icdinode *dic; /* dinode core info pointer */ |
59 | struct xfs_inode *ip; /* incore inode pointer */ | 59 | struct xfs_inode *ip; /* incore inode pointer */ |
60 | struct inode *inode; | ||
60 | struct xfs_bstat *buf; /* return buffer */ | 61 | struct xfs_bstat *buf; /* return buffer */ |
61 | int error = 0; /* error value */ | 62 | int error = 0; /* error value */ |
62 | 63 | ||
@@ -77,30 +78,33 @@ xfs_bulkstat_one_int( | |||
77 | 78 | ||
78 | ASSERT(ip != NULL); | 79 | ASSERT(ip != NULL); |
79 | ASSERT(ip->i_imap.im_blkno != 0); | 80 | ASSERT(ip->i_imap.im_blkno != 0); |
81 | inode = VFS_I(ip); | ||
80 | 82 | ||
81 | dic = &ip->i_d; | 83 | dic = &ip->i_d; |
82 | 84 | ||
83 | /* xfs_iget returns the following without needing | 85 | /* xfs_iget returns the following without needing |
84 | * further change. | 86 | * further change. |
85 | */ | 87 | */ |
86 | buf->bs_nlink = dic->di_nlink; | ||
87 | buf->bs_projid_lo = dic->di_projid_lo; | 88 | buf->bs_projid_lo = dic->di_projid_lo; |
88 | buf->bs_projid_hi = dic->di_projid_hi; | 89 | buf->bs_projid_hi = dic->di_projid_hi; |
89 | buf->bs_ino = ino; | 90 | buf->bs_ino = ino; |
90 | buf->bs_mode = dic->di_mode; | ||
91 | buf->bs_uid = dic->di_uid; | 91 | buf->bs_uid = dic->di_uid; |
92 | buf->bs_gid = dic->di_gid; | 92 | buf->bs_gid = dic->di_gid; |
93 | buf->bs_size = dic->di_size; | 93 | buf->bs_size = dic->di_size; |
94 | buf->bs_atime.tv_sec = dic->di_atime.t_sec; | 94 | |
95 | buf->bs_atime.tv_nsec = dic->di_atime.t_nsec; | 95 | buf->bs_nlink = inode->i_nlink; |
96 | buf->bs_mtime.tv_sec = dic->di_mtime.t_sec; | 96 | buf->bs_atime.tv_sec = inode->i_atime.tv_sec; |
97 | buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec; | 97 | buf->bs_atime.tv_nsec = inode->i_atime.tv_nsec; |
98 | buf->bs_ctime.tv_sec = dic->di_ctime.t_sec; | 98 | buf->bs_mtime.tv_sec = inode->i_mtime.tv_sec; |
99 | buf->bs_ctime.tv_nsec = dic->di_ctime.t_nsec; | 99 | buf->bs_mtime.tv_nsec = inode->i_mtime.tv_nsec; |
100 | buf->bs_ctime.tv_sec = inode->i_ctime.tv_sec; | ||
101 | buf->bs_ctime.tv_nsec = inode->i_ctime.tv_nsec; | ||
102 | buf->bs_gen = inode->i_generation; | ||
103 | buf->bs_mode = inode->i_mode; | ||
104 | |||
100 | buf->bs_xflags = xfs_ip2xflags(ip); | 105 | buf->bs_xflags = xfs_ip2xflags(ip); |
101 | buf->bs_extsize = dic->di_extsize << mp->m_sb.sb_blocklog; | 106 | buf->bs_extsize = dic->di_extsize << mp->m_sb.sb_blocklog; |
102 | buf->bs_extents = dic->di_nextents; | 107 | buf->bs_extents = dic->di_nextents; |
103 | buf->bs_gen = dic->di_gen; | ||
104 | memset(buf->bs_pad, 0, sizeof(buf->bs_pad)); | 108 | memset(buf->bs_pad, 0, sizeof(buf->bs_pad)); |
105 | buf->bs_dmevmask = dic->di_dmevmask; | 109 | buf->bs_dmevmask = dic->di_dmevmask; |
106 | buf->bs_dmstate = dic->di_dmstate; | 110 | buf->bs_dmstate = dic->di_dmstate; |