Re: [PATCH v3] btrfs-progs: add warning for mixed profiles filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 30, 2020 at 01:37:39PM +0000, Johannes Thumshirn wrote:
> On 04/04/2020 12:32, Goffredo Baroncelli wrote:
> > 
> > Hi all,
> > 
> > the aim of this patch set is to issue a warning when a mixed profiles
> > filesystem is detected. This happens when the filesystems contains
> > (i.e.) raid1c3 and single chunk for data.
> > 
> > BTRFS has the capability to support a filesystem with mixed profiles.
> > However this could lead to an unexpected behavior when a new chunk is
> > allocated (i.e. the chunk profile is not what is wanted). Moreover
> > if the user is not aware of this, he could assume a redundancy which
> > doesn't exist (for example because there is some 'single' chunk when
> > it is expected the filesystem to be full raid1).
> > A possible cause of a mixed profiles filesystem is an interrupted
> > balance operation or a not fully balance due to very specific filter.
> > 
> > The check is added to the following btrfs commands:
> > - btrfs balance pause
> > - btrfs balance cancel
> > - btrfs device add
> > - btrfs device del
> > 
> > The warning is shorter than the before one. Below an example and
> > it is printed after the normal output of the command.
> > 
> >     WARNING: Multiple profiles detected.  See 'man btrfs(5)'.
> >     WARNING: data -> [raid1c3, single], metadata -> [raid1, single]
> > 
> > The command "btrfs fi us" doesn't show the warning above, instead
> > it was added a further line in the "Overall" section. The output now
> > is this:
> > 
> > $ sudo ./btrfs fi us /tmp/t/
> > [sudo] password for ghigo:
> > Overall:
> >      Device size:		  30.00GiB
> >      Device allocated:		   4.78GiB
> >      Device unallocated:		  25.22GiB
> >      Device missing:		     0.00B
> >      Used:			   1.95GiB
> >      Free (estimated):		  13.87GiB	(min: 9.67GiB)
> >      Data ratio:			      2.00
> >      Metadata ratio:		      1.50
> >      Global reserve:		   3.25MiB	(used: 0.00B)
> >      Multiple profile:		       YES
> > 
> > Data,single: Size:1.00GiB, Used:974.04MiB (95.12%)
> >     /dev/loop0	   1.00GiB
> > 
> > Data,RAID1C3: Size:1.00GiB, Used:178.59MiB (17.44%)
> >     /dev/loop0	   1.00GiB
> >     /dev/loop1	   1.00GiB
> >     /dev/loop2	   1.00GiB
> > 
> > Metadata,single: Size:256.00MiB, Used:76.22MiB (29.77%)
> >     /dev/loop1	 256.00MiB
> > 
> > Metadata,RAID1: Size:256.00MiB, Used:206.92MiB (80.83%)
> >     /dev/loop1	 256.00MiB
> >     /dev/loop2	 256.00MiB
> > 
> > System,single: Size:32.00MiB, Used:16.00KiB (0.05%)
> >     /dev/loop2	  32.00MiB
> > 
> > Unallocated:
> >     /dev/loop0	   8.00GiB
> >     /dev/loop1	   8.50GiB
> >     /dev/loop2	   8.72GiB
> > 
> > 
> > In this case there are two kind of chunks for data (raid1c3 and single)
> > and metadata (raid1, single).
> > 
> > As the previous patch set, the warning is added also to the command
> > 'btrfs fi df' and 'btrfs dev us' as separate patch. If even in this
> > review nobody likes it, we can simply drop this patch.
> > 
> > Suggestion about which commands should (not) have this check are
> > welcome.
> > 
> > v1
> > - first issue
> > v2
> > - add some needed missing pieces about raid1c[34]
> > - add the check to more btrfs commands
> > v3
> > - add a section in btrfs(5) 'FILESYSTEM WITH MULTIPLE PROFILES'
> > - 'btrfs fi us': changed the worning in a info in the 'overall' section
> > 
> > Patch #1 contains the code for the check.
> > Patch #3 adds the check to the command 'btrfs dev {add,del}' and 'btrfs
> > bal {pause, stop}'
> > Patch #3 adds the check to the command 'btrfs fi us'
> > Patch #5 add the check to the command 'btrfs fi df' and 'btrfs dev us'
> > Patch #5 add the info in btrfs(5) man page
> 
> Btw with this patchset applied fstests choke on some tests (e.g. 
> btrfs/003) in my setup:
> 
> btrfs/003       - output mismatch (see 
> /home/johannes/src/xfstests-dev/results//btrfs/003.out.bad)
>      --- tests/btrfs/003.out     2020-01-02 08:43:50.000000000 +0000
>      +++ /home/johannes/src/xfstests-dev/results//btrfs/003.out.bad 
> 2020-04-30 13:20:43.050569551 +0000
>      @@ -1,2 +1,4 @@
>       QA output created by 003
>      +WARNING: Multiple profiles detected.  See 'man btrfs(5)'.
>      +WARNING:

Well, the tests need to be adjusted to filter that message out.



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux