summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>2022-11-25 03:06:20 +0100
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>2023-01-23 01:25:51 +0100
commit46a9c526eef7fb68a00321e2a9591ce5276ae92b (patch)
tree77e552f68c7c417a98f8b650ef1f2e6c92f774c7 /ipc
parentzonefs: Reorganize code (diff)
downloadlinux-46a9c526eef7fb68a00321e2a9591ce5276ae92b.tar.xz
linux-46a9c526eef7fb68a00321e2a9591ce5276ae92b.zip
zonefs: Simplify IO error handling
Simplify zonefs_check_zone_condition() by moving the code that changes an inode access rights to the new function zonefs_inode_update_mode(). Furthermore, since on mount an inode wpoffset is always zero when zonefs_check_zone_condition() is called during an inode initialization, the "mount" boolean argument is not necessary for the readonly zone case. This argument is thus removed. zonefs_io_error_cb() is also modified to use the inode offline and zone state flags instead of checking the device zone condition. The multiple calls to zonefs_check_zone_condition() are reduced to the first call on entry, which allows removing the "warn" argument. zonefs_inode_update_mode() is also used to update an inode access rights as zonefs_io_error_cb() modifies the inode flags depending on the volume error handling mode (defined with a mount option). Since an inode mode change differs for read-only zones between mount time and IO error time, the flag ZONEFS_ZONE_INIT_MODE is used to differentiate both cases. Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions