From: Anand Jain <Anand.Jain@oracle.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 3/3 v4] btrfs-progs: disable using backup superblock by default
Date: Fri, 15 Mar 2013 20:03:28 +0800 [thread overview]
Message-ID: <51430E10.5070807@oracle.com> (raw)
In-Reply-To: <5141E36C.10905@redhat.com>
>>>> <maybe a little more commit log would be good?>
>>>>
>>>> So here is what confuses me now. :)
>>>>
>>>> *every* caller of btrfs_read_dev_super() is now called with
>>>> 0 for the flags variable, so it never reads the backup
>>>> under any circumstance.
>>>>
>>>> If it's always called w/ 0, what is the point of the argument?
>>>> Is there another patch you have planned that would use this argument
>>>> later?
>>>
>>> Thanks for the review. yes true. as of now it (BTRFS_SCAN_BACKUP_SB)
>>> only serves the purpose if in future should we need it.
>>> purpose is something like a user initiated thread which
>>> should to go to the backup-SB if primary-SB is not found ?.
>>> Or I can drop BTRFS_SCAN_BACKUP_SB idea depending on how
>>> it is convenient as a whole.
>>
>> See what others think, perhaps, but if nobody is using it, I think
>> it should just go away. I'd call it "dead code." :)
>>
>> But I am surprised that none of the commands which accept alternate
>> superblock locations find their way into btrfs_read_dev_super() -
>> that seems odd to me. Is it re-implemented or open-coded in other
>> places?
>
> So to be clearer, rather than removing the code right away, maybe
> it's worth a look to see if the other commands which *want* backup
> superblocks should be using this same code. Then you'd have a reason
> for your new flag. :)
when non primary SB (sb_bytenr) is specified in btrfs_read_dev_super()
(that is when user is involved) it would directly fetch it. so its
not a problem when we know which SB to read other than the primary SB.
However when primary SB is specified it would look for only primary SB
unless BTRFS_SCAN_BACKUP_SB flag is set (with the patch). Now, do we
need this flag ? looks like Yes ! (sorry to change my opinion here
though) and as below..
In some cases when user is _not_ involved. Like in
check_mounted().
In a multi dev btrfs mounted fs. If by any chance the primary SB
is corrupted then we would say the device is NOT mounted even
if it is mounted.
eg:
# mkfs.btrfs /dev/sdb /dev/sdc -f && mount /dev/sdb /btrfs
# ./check-mounted /dev/sdc
its btrfs
/dev/sdc is currently mounted. Aborting.
# dd if=/dev/zero of=/dev/sdc count=8 seek=$(((64 * 1024)/512))
# ./check-mounted /dev/sdc
Not mounted
# cat /proc/mounts | egrep btrfs
/dev/sdb /btrfs btrfs rw,seclabel,relatime,noacl,space_cache 0 0
So we have to set BTRFS_SCAN_BACKUP_SB for check_mounted()
But the above scenario is not simple enough to be practical though.
-Anand
next prev parent reply other threads:[~2013-03-15 12:02 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-08 15:24 [PATCH 0/3 v2] flags to access backup SB Anand Jain
2013-03-08 15:24 ` [PATCH 1/3] btrfs-progs: Introduce flag BTRFS_SCAN_REGISTER to replace run_ioctl Anand Jain
2013-03-08 15:24 ` [PATCH 2/3] btrfs-progs: Introduce flag BTRFS_SCAN_BACKUP_SB for btrfs_read_dev_super Anand Jain
2013-03-08 15:25 ` [PATCH 3/3] btrfs-progs: use BTRFS_SCAN_BACKUP_SB flag in btrfs_scan_one_device Anand Jain
2013-03-11 15:03 ` Eric Sandeen
2013-03-11 18:16 ` David Sterba
2013-03-13 11:46 ` Anand Jain
2013-03-14 8:51 ` Anand Jain
2013-03-13 11:44 ` [PATCH 0/3 v3] flags to access backup SB Anand Jain
2013-03-13 11:44 ` [PATCH 1/3 v3] btrfs-progs: Introduce flag BTRFS_SCAN_REGISTER to replace run_ioctl Anand Jain
2013-03-13 11:44 ` [PATCH 2/3 v3] btrfs-progs: Introduce flag BTRFS_SCAN_BACKUP_SB for btrfs_read_dev_super Anand Jain
2013-03-13 11:44 ` [PATCH 3/3 v3] btrfs-progs: disable using backup superblock by default Anand Jain
2013-03-14 3:05 ` [PATCH 0/3 v4] flags to access backup SB Anand Jain
2013-03-14 3:05 ` [PATCH 1/3 v4] btrfs-progs: Introduce flag BTRFS_SCAN_REGISTER to replace run_ioctl Anand Jain
2013-03-14 3:05 ` [PATCH 2/3 v4] btrfs-progs: Introduce flag BTRFS_SCAN_BACKUP_SB for btrfs_read_dev_super Anand Jain
2013-03-14 3:05 ` [PATCH 3/3 v4] btrfs-progs: disable using backup superblock by default Anand Jain
2013-03-14 4:36 ` Eric Sandeen
2013-03-14 8:56 ` Anand Jain
2013-03-14 14:47 ` Eric Sandeen
2013-03-14 14:49 ` Eric Sandeen
2013-03-15 12:03 ` Anand Jain [this message]
2013-03-15 16:34 ` Eric Sandeen
2013-03-18 3:39 ` Anand Jain
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=51430E10.5070807@oracle.com \
--to=anand.jain@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=sandeen@redhat.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 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.