Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
83ea3f02
Commit
83ea3f02
authored
Apr 02, 2004
by
Nathan Scott
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[XFS] Reinstate some accidentally dropped log IO error injection code.
SGI Modid: xfs-linux:xfs-kern:169048a
parent
78de000f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
11 deletions
+13
-11
fs/xfs/xfs_log.c
fs/xfs/xfs_log.c
+13
-11
No files found.
fs/xfs/xfs_log.c
View file @
83ea3f02
/*
* Copyright (c) 2000-200
3
Silicon Graphics, Inc. All Rights Reserved.
* Copyright (c) 2000-200
4
Silicon Graphics, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
...
...
@@ -940,7 +940,8 @@ xlog_space_left(xlog_t *log, int cycle, int bytes)
void
xlog_iodone
(
xfs_buf_t
*
bp
)
{
xlog_in_core_t
*
iclog
;
xlog_in_core_t
*
iclog
;
xlog_t
*
l
;
int
aborted
;
iclog
=
XFS_BUF_FSPRIVATE
(
bp
,
xlog_in_core_t
*
);
...
...
@@ -948,19 +949,20 @@ xlog_iodone(xfs_buf_t *bp)
XFS_BUF_SET_FSPRIVATE2
(
bp
,
(
unsigned
long
)
1
);
aborted
=
0
;
/*
* Some versions of cpp barf on the recursive definition of
* ic_log -> hic_fields.ic_log and expand ic_log twice when
* it is passed through two macros. Workaround broken cpp.
*/
l
=
iclog
->
ic_log
;
/*
* Race to shutdown the filesystem if we see an error.
*/
if
(
XFS_BUF_GETERROR
(
bp
))
{
/* Some versions of cpp barf on the recursive definition of
* ic_log -> hic_fields.ic_log and expand ic_log twice when
* it is passed through two macros. Workaround for broken cpp
*/
struct
log
*
l
;
xfs_ioerror_alert
(
"xlog_iodone"
,
iclog
->
ic_log
->
l_mp
,
bp
,
XFS_BUF_ADDR
(
bp
));
if
(
XFS_TEST_ERROR
((
XFS_BUF_GETERROR
(
bp
)),
l
->
l_mp
,
XFS_ERRTAG_IODONE_IOERR
,
XFS_RANDOM_IODONE_IOERR
))
{
xfs_ioerror_alert
(
"xlog_iodone"
,
l
->
l_mp
,
bp
,
XFS_BUF_ADDR
(
bp
));
XFS_BUF_STALE
(
bp
);
l
=
iclog
->
ic_log
;
xfs_force_shutdown
(
l
->
l_mp
,
XFS_LOG_IO_ERROR
);
/*
* This flag will be propagated to the trans-committed
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment