aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorMasato Suzuki <[email protected]>2017-02-27 11:52:49 +0000
committerJaegeuk Kim <[email protected]>2017-02-27 18:40:12 +0000
commit7bb3a371d199156cb6a863feab377146b80942c5 (patch)
treed7b02ba2d78e352acfafe32953d5d094dd6bb067 /fs/proc/array.c
parentf2fs: remove redundant set_page_dirty() (diff)
downloadkernel-7bb3a371d199156cb6a863feab377146b80942c5.tar.gz
kernel-7bb3a371d199156cb6a863feab377146b80942c5.zip
f2fs: Fix zoned block device support
The introduction of the multi-device feature partially broke the support for zoned block devices. In the function f2fs_scan_devices, sbi->devs allocation and initialization is skipped in the case of a single device mount. This result in no device information structure being allocated for the device. This is fine if the device is a regular device, but in the case of a zoned block device, the device zone type array is not initialized, which causes the function __f2fs_issue_discard_zone to fail as get_blkz_type is unable to determine the zone type of a section. Fix this by always allocating and initializing the sbi->devs device information array even in the case of a single device if that device is zoned. For this particular case, make sure to obtain a reference on the single device so that the call to blkdev_put() in destroy_device_list operates as expected. Fixes: 3c62be17d4f562f4 ("f2fs: support multiple devices") Cc: <[email protected]> # v4.10 Signed-off-by: Masato Suzuki <[email protected]> Acked-by: Damien Le Moal <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions