linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
>

  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 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).