From owner-freebsd-fs@freebsd.org Mon Sep 23 16:22:25 2019 Return-Path: Delivered-To: freebsd-fs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5FEB6F9503 for ; Mon, 23 Sep 2019 16:22:25 +0000 (UTC) (envelope-from matthew.ahrens@delphix.com) Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com [IPv6:2607:f8b0:4864:20::e34]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46cV3442kSz4Cxv for ; Mon, 23 Sep 2019 16:22:24 +0000 (UTC) (envelope-from matthew.ahrens@delphix.com) Received: by mail-vs1-xe34.google.com with SMTP id p13so9855353vsr.4 for ; Mon, 23 Sep 2019 09:22:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=delphix.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=m65j7pLCAtI71CtXbN5ZDPfSloKggZfwS4l/niGcA5E=; b=MUKftgt4asyOfAYPx0C4C+NkwzhnuVi2w/FjYIKvh8Jktgz2rH21QFJBJ/1plg+BYU 2vE0MmU6ZRQEl1NQ6HwAkfMvmJJwSuZJl3bpXeh6Iqy68rMb0dy4LR3a18F+76ItXad5 wSEAlxXQUR4sCsY372Fh2PE5Oc1RfdEMJ3MYc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=m65j7pLCAtI71CtXbN5ZDPfSloKggZfwS4l/niGcA5E=; b=GZeOnS0xl+Ev6cIRf91A2UkRcfFyHRHM2lag2uwHPPouBW4Q2pWgS9n8uin/lqhdHP 4z24nrlVKStGRfCZBIkxVX6S5Qyidc+RGr+PrTEtOGeLe2KgjyLLqHO81H2EbIoP8Tit RyVzJu5U6Lty51WvugFya++xm9WmoEAc8coWaT0BPzNCiEwTGPsdXQqo1P5OmNtpvoQD KzrFezLqrZtwQGMcULunjtDZM/5E+wb0xOefldK5OV/v7Aw70YUvaW2yBLmUnl/T9bTv OsviqVpy8KRH/8+dQMfrdkJWCrpDX4dojoWmU/5D+VE0ChOx7LM4E7pZ7qdJXkFpFpW6 3/Ug== X-Gm-Message-State: APjAAAVzO4ca8b7JHuJeVtdGsKxQiH97Ac6uNjj48Qg/dXjmpih3/ST/ Jd0wwy+DGMICusF3cZVXrkfTyGChHOFYHaatMVwImA== X-Google-Smtp-Source: APXvYqyxL9osq8FMBBvHZ+ZfnmCKVchlhsKIgD5I1e8cYacNLpS0u+RqT1FSFsScym/0+QVKVV5Ib1QLfwbHtYjoUhI= X-Received: by 2002:a67:fe0b:: with SMTP id l11mr33560vsr.68.1569255742775; Mon, 23 Sep 2019 09:22:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Matthew Ahrens Date: Mon, 23 Sep 2019 09:22:11 -0700 Message-ID: Subject: Re: September OpenZFS Leadership Meeting To: developer , illumos-zfs , zfs-devel@freebsd.org, freebsd-fs , zfs-discuss X-Rspamd-Queue-Id: 46cV3442kSz4Cxv X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=delphix.com header.s=google header.b=MUKftgt4; dmarc=pass (policy=none) header.from=delphix.com; spf=pass (mx1.freebsd.org: domain of matthew.ahrens@delphix.com designates 2607:f8b0:4864:20::e34 as permitted sender) smtp.mailfrom=matthew.ahrens@delphix.com X-Spamd-Result: default: False [-5.60 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[delphix.com:s=google]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[delphix.com:+]; DMARC_POLICY_ALLOW(-0.50)[delphix.com,none]; RCVD_IN_DNSWL_NONE(0.00)[4.3.e.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[mahrens@delphix.com,matthew.ahrens@delphix.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-2.90)[ip: (-9.63), ipnet: 2607:f8b0::/32(-2.64), asn: 15169(-2.20), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[mahrens@delphix.com,matthew.ahrens@delphix.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Sep 2019 16:22:25 -0000 At this month's meeting we discussed: - ZoL EOL of RHEL 6 - Xattr cross-platform compatibility - Relaxed quota semantics for improved performance - zpool replace of log vdev - temporal dedup Video is now up on youtube: https://youtu.be/kjBWhEE8tZ8 Full notes below (thanks Serapheim): - EOL ZoL on RHEL 6 (Brian Behlendorf) - RHEL 6 could be old enough that we could drop support for it on master (still supported for 0.8) - Technically will be EOL'd by Red Hat in November 2020. - Feedback from the community: Given enough Notifications beforehand, people should be fine - Actual change needed in ZoL: - Go through build system code and remove any references of v3.10 kernel and older (new oldest supported kernel would be 3.11). The process should be similar on what ZoL did for deprecating RHEL5. - Action Items: - Brian/Matt will give a heads up in the mailing list, in the release notes of each versions until then, open PR for this - We need volunteers for the build system changes - Xattr cross-platform compatibility (Andrew Walker) - Problem: - ixSystems works with services that receive alternate data streams written as xattrs in FreeBSD in the user namespace, which is implemented slightly different in Linux (there is "user." prefix - FreeBSD use= s "freebsd." prefix(?) - Solaris uses "smb." prefix). Their applicat= ion (Samba) is doing the same thing in Linux and FreeBSD, but ZFS represents them different on-disk between each platform. As a result, xattrs that are written in FreeBSD are visible in other OSes except from ZoL where= the metadata disappears. - Potential Solutions: - Brian: ZoL has around 4 prefixes, so one solution would be to have user as a fallback choice (e.g. if it is not part of any namespace, it is part of the user namespace). - Andrew Walker: Have a zfs dataset property to be able to tell which format is used - Andriy Gapon: Add some OS info on the actual attribute and have ZFS interpret them differently - Sef: Some form a feature flag that would fix the prefixes. - Matt Ahrens: First make it possible to read xattrs from all platforms, even if the names show up differently. A potential long-term solution: New stuff is written in some new format that is portable across platforms (e.g. in the zfs.* namespace) and each platform translates the ZFS prefixes to the local platform=E2=80=99s prefixes. - Question: Is it an incompatibility between different OSes? or an incompatibility between different implementations of ZFS? Shall we ha= ve a translation layer outside of ZFS? - A bit of both but mostly VFS layer (outside of ZFS code). Assuming it is only on the VFS layer, it would be reasonable to still have some way of accessing these attributes. A point for this, is that in ZoL there is little flexibility in changing the VFS code. - Action Items: - Proposal & Next steps - Andrew can start a writeup and coordinate with Alexander from iXSystems - Relax quota semantics for improved performance (Allan Jude) - Problem: As you approach quotas, ZFS performance degrades. - Proposal: Can we have a property like quota-policy=3Dstrict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased. - People's Feedback/Questions: - Richard Elling - Isn't it the same problem when the pool is almost full (SLOP space)? Answer: This is slightly different, but the mechanism is the same, and we don't want to break that (e.g. run beyond SLOP space just like that). - Tangent: Should we scale the SLOP space appropriately? The SLOP space can bite a big chunk of space in big pools. - Feedback: That seems reasonable, though the use cases may not be that many (fragmentation issues in such big pools will probably ar= ise before encountering the SLOP space issue). See discussion on previous PR. - zpool replace of a log (and maybe a cache) vdev =E2=80=93 does this work= well? Can it be improved? (Andriy Gapon) - Problem: a user had to replace a log device using the replace command and it took a long time (dozens of gigabytes were scanned). Can we do better? It seems like there is not special logic for devices like that, do we want to do something different for log vdevs? Even maybe prohibit using replace for these devices and advice the remove & add workflow. - Feedback: the above sound reasonable except for one thing. Log devices can have actual data on them. If you crash and you have block= s in the log device and you've removed the device, and you don't mount the specific filesystems, these blocks will stay there. Encryption should also make this more common. We need to retain the ability for the scrub-ba= sed replace/attach. We could improve the performance by looking at all th= e blocks of all the logs instead of looking at all the blocks in the po= ol. - Action Item: Andriy will look into this and create a doc - Renaming bookmarks =E2=80=93 are there any pitfalls? Seems like a useful= feature that=E2=80=99s not been implemented in a long time (Andriy Gapon) - Feedback: It should just work - one more thing to plumb through the CLI, libzfs, etc=E2=80=A6 internally, removing the ZAP entry and re-adding it with the new name should do the trick - Panzura to open source their temporal dedup implementation (Josh P) - Panzura will be open-sourcing some parts of their self-contained ZFS implementation of temporal dedup on Github. There is hope from Panzura that this will be integrated within OpenZFS but at least for now there are= no concrete plans of getting this code upstreamed without volunteers. - Question: What is temporal dedup? - A dedup scheme that groups blocks by the time that they are created/modified etc... Grouping blocks in such way should allow for faster access to the data due to caching based on temporal locality On Tue, Sep 17, 2019 at 8:47 AM Matthew Ahrens wrote: > The next OpenZFS Leadership meeting will be held today, September 17, > 1pm-2pm Pacific time. > > Everyone is welcome to attend and participate, and we will try to keep th= e > meeting on agenda and on time. The meetings will be held online via Zoom= , > and recorded and posted to the website and YouTube after the meeting. > > The agenda for the meeting will be a discussion of the projects listed in > the agenda doc. > > For more information and details on how to attend, as well as notes and > video from the previous meeting, please see the agenda document: > > > https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnW= HhV-BM/edit > > --matt >