From: Anand Jain <anand.jain@oracle.com>
To: linux-btrfs@vger.kernel.org
Cc: josef@toxicpanda.com, dsterba@suse.com, nborisov@suse.com,
l@damenly.su, kreijack@libero.it
Subject: [PATCH v5 0/4] btrfs: match device by dev_t
Date: Wed, 12 Jan 2022 13:05:58 +0800 [thread overview]
Message-ID: <cover.1641963296.git.anand.jain@oracle.com> (raw)
v5: Patch 1/4 device_matched() to return bool; absorb errors in it to false.
Move if (!device->name) into device_matched().
Patch 2/4 fix the commit title and add a comment.
Patch 3/4 add more comment about btrfs_device::devt.
v4: Return 1 for device matched in device_matched()
Use scnprintf() instead of sprintf() in device_matched()
Change log updated drop commit id
Use str[0] instead of strlen()
Change logic from !lookup_bdev() to lookup_bdev == 0
v3: Added patch 3/4 saves and uses dev_t in btrfs_device and
thus patch 4/4 removes the function device_matched().
fstests btrfs passed with no new regressions.
v2: Fix
sparse: warning: incorrect type in argument 1 (different address spaces)
For using device->name->str
Fix Josef suggestion to pass dev_t instead of device-path in the
patch 2/2.
--- original cover letter -----
Patch 1 is the actual bug fix and should go to stable 5.4 as well.
On 5.4 patch1 conflicts (outside of the changes in the patch),
so not yet marked for the stable.
Patch 2 simplifies calling lookup_bdev() in the device_matched()
by moving the same to the parent function two levels up.
Patch 2 is not merged with 1 because to keep the patch 1 changes local
to a function so that it can be easily backported to 5.4 and 5.10.
We should save the dev_t in struct btrfs_device with that may be
we could clean up a few more things, including fixing the below sparse
warning.
sparse: sparse: incorrect type in argument 1 (different address spaces)
For using without rcu:
error = lookup_bdev(device->name->str, &dev_old);
Anand Jain (4):
btrfs: harden identification of the stale device
btrfs: redeclare btrfs_free_stale_devices arg1 to dev_t
btrfs: add device major-minor info in the struct btrfs_device
btrfs: use dev_t to match device in device_matched
fs/btrfs/dev-replace.c | 3 ++
fs/btrfs/super.c | 8 ++++-
fs/btrfs/volumes.c | 67 +++++++++++++++++-------------------------
fs/btrfs/volumes.h | 7 ++++-
4 files changed, 43 insertions(+), 42 deletions(-)
--
2.33.1
next reply other threads:[~2022-01-12 5:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-12 5:05 Anand Jain [this message]
2022-01-12 5:05 ` [PATCH v5 1/4] btrfs: harden identification of the stale device Anand Jain
2022-01-12 5:06 ` [PATCH v5 2/4] btrfs: redeclare btrfs_free_stale_devices arg1 to dev_t Anand Jain
2022-01-12 5:06 ` [PATCH v5 3/4] btrfs: add device major-minor info in the struct btrfs_device Anand Jain
2022-01-12 5:06 ` [PATCH v5 4/4] btrfs: use dev_t to match device in device_matched Anand Jain
2022-01-18 2:02 ` [PATCH v5 0/4] btrfs: match device by dev_t Anand Jain
2022-01-18 15:31 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1641963296.git.anand.jain@oracle.com \
--to=anand.jain@oracle.com \
--cc=dsterba@suse.com \
--cc=josef@toxicpanda.com \
--cc=kreijack@libero.it \
--cc=l@damenly.su \
--cc=linux-btrfs@vger.kernel.org \
--cc=nborisov@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).