Project

General

Profile

Actions

Bug #5220

closed

L2ARC does not support devices that do not provide 512B access

Added by Andriy Gapon over 7 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
zfs - Zettabyte File System
Start date:
2014-10-08
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

There are disk devices that have logical sector size larger than 512B, for example 4KB. That is, their physical sector size is larger than 512B and they do not provide emulation for 512B sector sizes. For such devices both a data offset and a data size must be properly aligned. L2ARC should arrange that because it uses physical I/O.
zio_vdev_io_start() performs a necessary transformation if io_size is not aligned to vdev_ashift, but that is done only for logical I/O. Something similar should be done in L2ARC code.

  • a temporary write buffer should be allocated if the original buffer is not going to be compressed and its size is not aligned
  • size of a temporary compression buffer should be ashift aligned
  • for the reads, if a size of a target buffer is not sufficiently large and it is not aligned then a temporary read buffer should be allocated
Actions #1

Updated by Bayard Bell about 7 years ago

  • Tags deleted (needs-triage)
Actions #2

Updated by Electric Monk about 5 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 403a8da73c64ff9dfb6230ba045c765a242213fb

commit  403a8da73c64ff9dfb6230ba045c765a242213fb
Author: Andriy Gapon <avg@FreeBSD.org>
Date:   2017-06-13T20:06:13.000Z

    5220 L2ARC does not support devices that do not provide 512B access
    Reviewed by: George Wilson <george.wilson@delphix.com>
    Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
    Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF