All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2 v2 RFC] device type and create chunk
@ 2022-07-11 11:14 Anand Jain
  2022-07-13 14:53 ` Lukas Straub
  0 siblings, 1 reply; 2+ messages in thread
From: Anand Jain @ 2022-07-11 11:14 UTC (permalink / raw)
  To: linux-btrfs; +Cc: dsterba

v2: Arrange devices by type and then by free space. Split device type and
     its latency into an enum array. (Kdave)
    Marked RFC to obtain more feedback.

v1: https://lore.kernel.org/linux-btrfs/cover.1642518245.git.anand.jain@oracle.com/t/

-------- original cover letter -----

I had these patches as part of experiments with the readpolicy I am
sending it now. This is different from the allocation_hint mode patch-set
where I use the device type to make the allocation destination automatic.

Patch 1/2 keeps the device's type in the struct btrfs_device so that we
could maintain the status if there are mixed devices in the
filesystem.

And if so, then patch 2/2 shall take care of arranging the disks by the
order of latency so that metadata chunks can pick disk with low latency
and data can pick the disk with higher latency.

By having fewer restrictions and not hard coding the chunk allocation
destination helps to cause the spillover to the available disk space
instead of causing the spurious ENOSPC.

Anand Jain (2):
  btrfs: keep device type in the struct btrfs_device
  btrfs: create chunk device type latency aware

 fs/btrfs/dev-replace.c |   1 +
 fs/btrfs/disk-io.c     |   2 +
 fs/btrfs/volumes.c     | 109 +++++++++++++++++++++++++++++++++++++++--
 fs/btrfs/volumes.h     |  24 ++++++++-
 4 files changed, 129 insertions(+), 7 deletions(-)

-- 
2.33.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-13 14:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-11 11:14 [PATCH 0/2 v2 RFC] device type and create chunk Anand Jain
2022-07-13 14:53 ` Lukas Straub

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.