All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anand Jain <Anand.Jain@oracle.com>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>,
	Hugo Mills <hugo@carfax.org.uk>,
	Cyril Scetbon <cyril.scetbon@free.fr>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: Compatibility matrix kernel/tools
Date: Thu, 06 Nov 2014 13:29:17 +0800	[thread overview]
Message-ID: <545B072D.7080307@oracle.com> (raw)
In-Reply-To: <545AD423.2010600@cn.fujitsu.com>



On 11/06/2014 09:51 AM, Qu Wenruo wrote:
>
> -------- Original Message --------
> Subject: Re: Compatibility matrix kernel/tools
> From: Hugo Mills <hugo@carfax.org.uk>
> To: Cyril Scetbon <cyril.scetbon@free.fr>
> Date: 2014年11月06日 05:45
>> On Wed, Nov 05, 2014 at 09:57:31PM +0100, Cyril Scetbon wrote:
>>> Hi,
>>>
>>> Where can I find the compatibility matrix to know which btrfs-tools
>>> version should work with a chosen linux kernel ?
>>     Any of them should work with any kernel.
>>
>>     For normal operation, if the tools are too old, they may not
>> support newer kernel features -- but that will simply mean you can't
>> access the feature, not that anything will be broken.
>>
>>     If you're doing recovery work (btrfs check and friends) then using
>> the latest released version of the tools is strongly recommended.
>>
>>     Hugo.
>>
> As Hugo mentioned, overall any kernel/user tool combination should be OK
> and won't cause disaster.
>
> [Online operations]
> More specifically, online(btrfs mounted) operations mostly depend on the
> kernel.
> Like subvolume/snapshot device add/remove/replace balance/scrub and
> send/receive should mainly depend on the
> kernel version.
>
> [If version not match]
> 1. Kernel ver > progs ver.
> It may happens that progs don't know the new added ioctls, so some
> bleeding edge functions may not be available,
> but everything should work fine without problem.(except some known/fixed
> progs bugs)
>
> 2. Progs ver > kernel ver.
> It may happen some ioctl not supported by kernel, if there is a fallback
> method everything should work without problem,
> or progs should prompt the fact that some bleeding edge function is not
> supported by kernel.
> Everything should also works fine except some known/fixed kernel bugs,
> which maybe worse than progs bugs.
>
> [Offline operations]
> Offline operations includes mkfs, btrfsck and all its
> friends(btrfs-find-roots btrfs-show-super btrfs-debug-tree ...)
> Since offline operations needs to do some dirty job like reading/writing
> the superblock, it may cause big compatibility problem
> if using some new incompact features.
>
> [If version not match]
> 1. kernel ver > progs ver.
> There maybe some btrfs filesystems that kernel can mount but offline
> tools can't open.
> For example, before v0.20-rc1 progs doesn't support skinny metadata, and
> 3.17 kernel supports it,
> a btrfs created with skinny metadata can't be fscked using v0.20-rc1,
> but kernel can still mount it,
> and online operations should be fine.
>
> If not using the new features, it would be OK.
>
> 2. kernel ver < progs ver
> This maybe even worse.
> If you create a fs with latest progs, which may enable some new feature
> like big metadata on *DEFAULT*,
> kernels before v3.3 will be unable to even mount it since it can't
> understand the new incompact features.
>
>
> [Conclusion]
> If not using offline operations often, compatibility won't be a big
> problem.
> If using offline operations often, better keep kernel/progs version from
> differing too much.
>
> Also if you want to keep a matrix for it, it may take some time to git
> blame/log/describe...
> Tips will be focus on INCOMPACT flags in fs/btrfs/ctree.h and ioctls
> change in fs/btrfs/ioctl.c.

  for the long term its better if (some critical) offline tools are
  moved into the kernel and operate on the disks through the
  /dev/btrfs-control ioctl which in case the disks doesn't have to
  be mounted. btrfs is also a volume manger there should be a way
  to manage the disks in the kernel not necessary only when the device
  is mounted.

Thanks, Anand

> Thanks,
> Qu
> --
> 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:[~2014-11-06  5:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-05 20:57 Compatibility matrix kernel/tools Cyril Scetbon
2014-11-05 21:45 ` Hugo Mills
2014-11-06  1:51   ` Qu Wenruo
2014-11-06  5:29     ` Anand Jain [this message]
2014-11-06  9:21     ` Cyril Scetbon
2014-11-07  3:38       ` Duncan

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=545B072D.7080307@oracle.com \
    --to=anand.jain@oracle.com \
    --cc=cyril.scetbon@free.fr \
    --cc=hugo@carfax.org.uk \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=quwenruo@cn.fujitsu.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.