|
40 | 40 | #include "xfs_defer.h" |
41 | 41 | #include "xfs_attr_item.h" |
42 | 42 | #include "xfs_xattr.h" |
| 43 | +#include "xfs_error.h" |
43 | 44 | #include "xfs_errortag.h" |
44 | 45 | #include "xfs_iunlink_item.h" |
45 | 46 | #include "xfs_dahash_test.h" |
@@ -114,7 +115,7 @@ enum { |
114 | 115 | Opt_prjquota, Opt_uquota, Opt_gquota, Opt_pquota, |
115 | 116 | Opt_uqnoenforce, Opt_gqnoenforce, Opt_pqnoenforce, Opt_qnoenforce, |
116 | 117 | Opt_discard, Opt_nodiscard, Opt_dax, Opt_dax_enum, Opt_max_open_zones, |
117 | | - Opt_lifetime, Opt_nolifetime, Opt_max_atomic_write, |
| 118 | + Opt_lifetime, Opt_nolifetime, Opt_max_atomic_write, Opt_errortag, |
118 | 119 | }; |
119 | 120 |
|
120 | 121 | #define fsparam_dead(NAME) \ |
@@ -173,6 +174,7 @@ static const struct fs_parameter_spec xfs_fs_parameters[] = { |
173 | 174 | fsparam_flag("lifetime", Opt_lifetime), |
174 | 175 | fsparam_flag("nolifetime", Opt_nolifetime), |
175 | 176 | fsparam_string("max_atomic_write", Opt_max_atomic_write), |
| 177 | + fsparam_string("errortag", Opt_errortag), |
176 | 178 | {} |
177 | 179 | }; |
178 | 180 |
|
@@ -1593,6 +1595,8 @@ xfs_fs_parse_param( |
1593 | 1595 | return -EINVAL; |
1594 | 1596 | } |
1595 | 1597 | return 0; |
| 1598 | + case Opt_errortag: |
| 1599 | + return xfs_errortag_add_name(parsing_mp, param->string); |
1596 | 1600 | default: |
1597 | 1601 | xfs_warn(parsing_mp, "unknown mount option [%s].", param->key); |
1598 | 1602 | return -EINVAL; |
@@ -2184,6 +2188,8 @@ xfs_fs_reconfigure( |
2184 | 2188 | if (error) |
2185 | 2189 | return error; |
2186 | 2190 |
|
| 2191 | + xfs_errortag_copy(mp, new_mp); |
| 2192 | + |
2187 | 2193 | /* Validate new max_atomic_write option before making other changes */ |
2188 | 2194 | if (mp->m_awu_max_bytes != new_mp->m_awu_max_bytes) { |
2189 | 2195 | error = xfs_set_max_atomic_write_opt(mp, |
|
0 commit comments