diff options
author | Christoph Hellwig <hch@lst.de> | 2008-11-27 22:23:40 -0500 |
---|---|---|
committer | Niv Sardi <xaiki@sgi.com> | 2008-11-30 19:37:58 -0500 |
commit | a1941895034cda2bffa23ba845607c82138ccf52 (patch) | |
tree | 604c916884caa4ae2d97e6e47ac0d304cd70d1b4 /fs/xfs/xfs_log_recover.c | |
parent | 76d8b277f7b715f78ee3cb09ee112563639693a5 (diff) |
[XFS] remove dead code for old inode item recovery
We have removed the support for old-style inode items a while ago and
xlog_recover_do_inode_trans is now only called for XFS_LI_INODE items.
That means we can remove the call to xfs_imap there and with it the
XFS_IMAP_LOOKUP that is set by all other callers. We can also mark
xfs_imap static now.
(First sent on October 21st)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_log_recover.c')
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 48bdfa4dc290..bf8573b5a7d8 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c | |||
@@ -2245,7 +2245,6 @@ xlog_recover_do_inode_trans( | |||
2245 | xfs_inode_log_format_t *in_f; | 2245 | xfs_inode_log_format_t *in_f; |
2246 | xfs_mount_t *mp; | 2246 | xfs_mount_t *mp; |
2247 | xfs_buf_t *bp; | 2247 | xfs_buf_t *bp; |
2248 | xfs_imap_t imap; | ||
2249 | xfs_dinode_t *dip; | 2248 | xfs_dinode_t *dip; |
2250 | xfs_ino_t ino; | 2249 | xfs_ino_t ino; |
2251 | int len; | 2250 | int len; |
@@ -2273,48 +2272,29 @@ xlog_recover_do_inode_trans( | |||
2273 | } | 2272 | } |
2274 | ino = in_f->ilf_ino; | 2273 | ino = in_f->ilf_ino; |
2275 | mp = log->l_mp; | 2274 | mp = log->l_mp; |
2276 | if (ITEM_TYPE(item) == XFS_LI_INODE) { | ||
2277 | imap.im_blkno = (xfs_daddr_t)in_f->ilf_blkno; | ||
2278 | imap.im_len = in_f->ilf_len; | ||
2279 | imap.im_boffset = in_f->ilf_boffset; | ||
2280 | } else { | ||
2281 | /* | ||
2282 | * It's an old inode format record. We don't know where | ||
2283 | * its cluster is located on disk, and we can't allow | ||
2284 | * xfs_imap() to figure it out because the inode btrees | ||
2285 | * are not ready to be used. Therefore do not pass the | ||
2286 | * XFS_IMAP_LOOKUP flag to xfs_imap(). This will give | ||
2287 | * us only the single block in which the inode lives | ||
2288 | * rather than its cluster, so we must make sure to | ||
2289 | * invalidate the buffer when we write it out below. | ||
2290 | */ | ||
2291 | imap.im_blkno = 0; | ||
2292 | error = xfs_imap(log->l_mp, NULL, ino, &imap, 0); | ||
2293 | if (error) | ||
2294 | goto error; | ||
2295 | } | ||
2296 | 2275 | ||
2297 | /* | 2276 | /* |
2298 | * Inode buffers can be freed, look out for it, | 2277 | * Inode buffers can be freed, look out for it, |
2299 | * and do not replay the inode. | 2278 | * and do not replay the inode. |
2300 | */ | 2279 | */ |
2301 | if (xlog_check_buffer_cancelled(log, imap.im_blkno, imap.im_len, 0)) { | 2280 | if (xlog_check_buffer_cancelled(log, in_f->ilf_blkno, |
2281 | in_f->ilf_len, 0)) { | ||
2302 | error = 0; | 2282 | error = 0; |
2303 | goto error; | 2283 | goto error; |
2304 | } | 2284 | } |
2305 | 2285 | ||
2306 | bp = xfs_buf_read_flags(mp->m_ddev_targp, imap.im_blkno, imap.im_len, | 2286 | bp = xfs_buf_read_flags(mp->m_ddev_targp, in_f->ilf_blkno, |
2307 | XFS_BUF_LOCK); | 2287 | in_f->ilf_len, XFS_BUF_LOCK); |
2308 | if (XFS_BUF_ISERROR(bp)) { | 2288 | if (XFS_BUF_ISERROR(bp)) { |
2309 | xfs_ioerror_alert("xlog_recover_do..(read#2)", mp, | 2289 | xfs_ioerror_alert("xlog_recover_do..(read#2)", mp, |
2310 | bp, imap.im_blkno); | 2290 | bp, in_f->ilf_blkno); |
2311 | error = XFS_BUF_GETERROR(bp); | 2291 | error = XFS_BUF_GETERROR(bp); |
2312 | xfs_buf_relse(bp); | 2292 | xfs_buf_relse(bp); |
2313 | goto error; | 2293 | goto error; |
2314 | } | 2294 | } |
2315 | error = 0; | 2295 | error = 0; |
2316 | ASSERT(in_f->ilf_fields & XFS_ILOG_CORE); | 2296 | ASSERT(in_f->ilf_fields & XFS_ILOG_CORE); |
2317 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, imap.im_boffset); | 2297 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, in_f->ilf_boffset); |
2318 | 2298 | ||
2319 | /* | 2299 | /* |
2320 | * Make sure the place we're flushing out to really looks | 2300 | * Make sure the place we're flushing out to really looks |