From: Anand Jain <Anand.Jain@oracle.com>
To: dsterba@suse.cz, linux-btrfs@vger.kernel.org, clm@fb.com
Cc: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Subject: Re: [PATCH 23/24] Btrfs: sysfs: support seed devices in the sysfs layout
Date: Thu, 12 Feb 2015 14:25:32 +0800 [thread overview]
Message-ID: <54DC475C.4000002@oracle.com> (raw)
In-Reply-To: <20150211185259.GM28877@twin.jikos.cz>
Thanks for commenting. more below.
On 02/12/2015 02:52 AM, David Sterba wrote:
> On Mon, Feb 09, 2015 at 07:56:24AM +0800, Anand Jain wrote:
>> This adds an enhancement to show the seed fsid and devices.
>>
>> The way sprouting handles fs_devices:
>> clone seed fs_devices and add to the fs_uuids
>> mem copy seed fs_devices and assign to fs_devices->seed (move dev_list)
>> evacuate seed fs_devices contents to hold sprout fs devices contents
>>
>> So to be inline with this fs_devices changes during seeding,
>> represent seed fsid under the sprout fsid, this is achieved
>> by using the kobject_move()
>>
>> eg: showing two levels of seeding.
>
> That's new to me, how does nested seeding work?
I called below operation as nested seeding:
mark a sprout as seed, mount it, add a new sprout to it.
eg:
mkfs.btrfs /dev/sdz
btrfstune -S 1 /dev/sdz
mount /dev/sdz /btrfs
btrfs dev add /dev/sdy /btrfs
umount /btrfs
btrfstune -S 1 /dev/sdy
mount /dev/sdy /btrfs
btrfs dev add /dev/sdx /btrfs
(Its bit complicated during seeding, as fs_devices and device move
around. /proc/fs/btrfs/devlist helped to understand. its in the ML)
{
Since we are on this topic: btrfs-progs shouldn't have had this patch:
git log -p 2513077
-------------------------
commit 2513077f2f830b4bc83d528bfb6979eb461918bd
Author: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Date: Mon Oct 6 18:16:46 2014 +0800
btrfs-progs: fix device missing of btrfs fi show with seed devices
-------------------------
it doesn't work with nested seed as I commented
http://marc.info/?l=linux-btrfs&m=141102300324251&w=2
-------------------------
btrfs fi show -d
warning devid 1 not found already
warning devid 2 not found already
Check tree block failed, want=29425664, have=0
read block failed check_tree_block
Couldn't setup csum tree
Check tree block failed, want=29360128, have=0
read block failed check_tree_block
-------------------------
I haven't see next version of this patch from Gui. (Gui ?, copied)
}
>> find /sys/fs/btrfs/ -type d -name devices -exec ls {} \; -print
>>
>> sde
>> /sys/fs/btrfs/8c2772d4-6951-43c3-89b6-3ab3c70a13f8/f7ef2904-ce89-4421-bfb0-49fd999e9a0b/devices
>> sdd
>> /sys/fs/btrfs/8c2772d4-6951-43c3-89b6-3ab3c70a13f8/f7ef2904-ce89-4421-bfb0-49fd999e9a0b/53ac3265-0c34-4afd-9453-cc0d1a07be64/devices
>
> The plain uuid is IMHO not the best naming convention, although it's
> acceptable in the global list in /sys/fs/btrfs/* I'd rather avoid it if
> it's mixed with other files.
just to clarify, the above aren't uuid, they are fsid rather, sorry I
didn't mention.
sde
/sys/fs/btrfs/sprout-fsid/seed-fsid/devices
sdd
/sys/fs/btrfs/sprout-fsid/seed-fsid/2nd-level-seed-fsid/devices
In any case, as in previous RFC patch
[PATCH RFC] btrfs: add sysfs layout to show volume info
uuid will be there, the reasons are first,
btrfs kernel the device uniqueness is determined by fsid-uuid-devid
combination (which means if _any one_ of these is different its going to
create a new struct btrfs_device), so its easy to be inline with that.
name abstraction links on top of it can be created as well.
next,
we originally have device name link under /sys/fs/btrfs/fsid/device.
Since it made first, I doubt if we could alter that to a kobject dir
instead of link?. Some script might be using it. So I am planning to put
uuid under /sys/fs/btrfs/fsid/device to contain info about the device.
as shown in the RFC patch above.
> Would it be enough to print all relevant seeding information into a
> single file? If the "UUID" directoreis do not contain anything else,
> that would be IMHO best.
Hmm nope it will contain more info.
> Do the seeding fsids exist on their own in /sys/sf/btrfs? I haven't
> tested the patchset so I'd probably find that out myself.
Thanks, Anand
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2015-02-12 6:25 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-08 23:56 [PATCH 00/24 V2] provide frame work so that sysfs attributs from the fs_devices can be added Anand Jain
2015-02-08 23:56 ` [PATCH 01/24] Btrfs: sysfs: fix, btrfs_release_super_kobj() should to clean up the kobject data Anand Jain
2015-02-08 23:56 ` [PATCH 02/24] Btrfs: sysfs: fix, fs_info kobject_unregister has init_completion() twice Anand Jain
2015-02-08 23:56 ` [PATCH 03/24] Btrfs: sysfs: fix, undo sysfs device links Anand Jain
2015-02-08 23:56 ` [PATCH 04/24] Btrfs: sysfs: fix, kobject pointer clean up needed after kobject release Anand Jain
2015-02-08 23:56 ` [PATCH 05/24] Btrfc: sysfs: fix, check if device_dir_kobj is init before destroy Anand Jain
2015-02-08 23:56 ` [PATCH 06/24] Btrfs: sysfs: reorder the kobject creations Anand Jain
2015-02-08 23:56 ` [PATCH 07/24] Btrfs: sysfs: rename __btrfs_sysfs_remove_one to btrfs_sysfs_remove_fsid Anand Jain
2015-02-08 23:56 ` [PATCH 08/24] Btrfs: sysfs: introduce function btrfs_sysfs_add_fsid() to create sysfs fsid Anand Jain
2015-02-08 23:56 ` [PATCH 09/24] Btrfs: sysfs: let default_attrs be separate from the kset Anand Jain
2015-02-08 23:56 ` [PATCH 10/24] Btrfs: sysfs: separate device kobject and its attribute creation Anand Jain
2015-02-08 23:56 ` [PATCH 11/24] Btrfs: sysfs: move super_kobj and device_dir_kobj from fs_info to btrfs_fs_devices Anand Jain
2015-02-08 23:56 ` [PATCH 12/24] Btrfs: sysfs: add pointer to access fs_info from fs_devices Anand Jain
2015-02-08 23:56 ` [PATCH 13/24] Btrfs: introduce btrfs_get_fs_uuids Anand Jain
2015-02-08 23:56 ` [PATCH 14/24] Btrfs: sysfs: provide framework to remove all fsid kobject Anand Jain
2015-02-08 23:56 ` [PATCH 15/24] Btrfs: sysfs btrfs_kobj_add_device() pass fs_devices instead of fs_info Anand Jain
2015-02-08 23:56 ` [PATCH 16/24] Btrfs: sysfs btrfs_kobj_rm_device() " Anand Jain
2015-02-08 23:56 ` [PATCH 17/24] Btrfs: sysfs: make btrfs_sysfs_add_fsid() non static Anand Jain
2015-02-08 23:56 ` [PATCH 18/24] Btrfs: sysfs: make btrfs_sysfs_add_device() " Anand Jain
2015-02-08 23:56 ` [PATCH 19/24] Btrfs: sysfs: btrfs_sysfs_remove_fsid() make it " Anand Jain
2015-02-08 23:56 ` [PATCH 20/24] Btrfs: sysfs: separate kobject and attribute creation Anand Jain
2015-02-08 23:56 ` [PATCH 21/24] Btrfs: sysfs: add support to add parent for fsid Anand Jain
2015-02-11 18:41 ` David Sterba
2015-02-08 23:56 ` [PATCH 22/24] Btrfs: sysfs: don't fail seeding for the sake of sysfs kobject issue Anand Jain
2015-02-11 18:40 ` David Sterba
2015-02-12 3:22 ` Anand Jain
2015-02-13 16:15 ` David Sterba
2015-03-09 17:10 ` Anand Jain
2015-02-08 23:56 ` [PATCH 23/24] Btrfs: sysfs: support seed devices in the sysfs layout Anand Jain
2015-02-11 18:52 ` David Sterba
2015-02-12 6:25 ` Anand Jain [this message]
2015-02-13 17:33 ` David Sterba
2015-03-09 17:11 ` Anand Jain
2015-02-13 17:51 ` David Sterba
2015-02-18 3:04 ` Anand Jain
2015-02-08 23:56 ` [PATCH 24/24] Btrfs: sysfs: add check if super kobject is already initialized Anand Jain
2015-02-11 18:41 ` David Sterba
2015-02-11 19:01 ` [PATCH 00/24 V2] provide frame work so that sysfs attributs from the fs_devices can be added David Sterba
2015-02-12 7:23 ` 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=54DC475C.4000002@oracle.com \
--to=anand.jain@oracle.com \
--cc=clm@fb.com \
--cc=dsterba@suse.cz \
--cc=guihc.fnst@cn.fujitsu.com \
--cc=linux-btrfs@vger.kernel.org \
/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.