<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/btrfs/sysfs.c, branch linux-5.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-05-16T15:03:11Z</updated>
<entry>
<title>btrfs: change the bg_reclaim_threshold valid region from 0 to 100</title>
<updated>2022-05-16T15:03:11Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2022-03-29T08:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef972e7b5edeec9ed5213476186ceae5798b01e8'/>
<id>urn:sha1:ef972e7b5edeec9ed5213476186ceae5798b01e8</id>
<content type='text'>
For the non-zoned case we may want to set the threshold for reclaim to
something below 50%.  Change the acceptable threshold from 50-100 to
0-100.

Tested-by: Pankaj Raghav &lt;p.raghav@samsung.com&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: make the bg_reclaim_threshold per-space info</title>
<updated>2022-05-16T15:03:11Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2022-03-29T08:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb5a098d9791f184899499531ff4411089e2a5e0'/>
<id>urn:sha1:bb5a098d9791f184899499531ff4411089e2a5e0</id>
<content type='text'>
For non-zoned file systems it's useful to have the auto reclaim feature,
however there are different use cases for non-zoned, for example we may
not want to reclaim metadata chunks ever, only data chunks.  Move this
sysfs flag to per-space_info.  This won't affect current users because
this tunable only ever did anything for zoned, and that is currently
hidden behind BTRFS_CONFIG_DEBUG.

Tested-by: Pankaj Raghav &lt;p.raghav@samsung.com&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
[ jth restore global bg_reclaim_threshold ]
Signed-off-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: expand subpage support to any PAGE_SIZE &gt; 4K</title>
<updated>2022-05-16T15:03:11Z</updated>
<author>
<name>Qu Wenruo</name>
</author>
<published>2022-01-13T05:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a42daab11d39f567bb2c6b2b7e551e73abb3512'/>
<id>urn:sha1:1a42daab11d39f567bb2c6b2b7e551e73abb3512</id>
<content type='text'>
With the recent change in metadata handling, we can handle metadata in
the following cases:

- nodesize &lt; PAGE_SIZE and sectorsize &lt; PAGE_SIZE
  Go subpage routine for both metadata and data.

- nodesize &lt; PAGE_SIZE and sectorsize &gt;= PAGE_SIZE
  Invalid case for now. As we require nodesize &gt;= sectorsize.

- nodesize &gt;= PAGE_SIZE and sectorsize &lt; PAGE_SIZE
  Go subpage routine for data, but regular page routine for metadata.

- nodesize &gt;= PAGE_SIZE and sectorsize &gt;= PAGE_SIZE
  Go regular page routine for both metadata and data.

Now we can handle any sectorsize &lt; PAGE_SIZE, plus the existing
sectorsize == PAGE_SIZE support.

But here we introduce an artificial limit, any PAGE_SIZE &gt; 4K case, we
will only support 4K and PAGE_SIZE as sector size.

The idea here is to reduce the test combinations, and push 4K as the
default standard in the future.

Signed-off-by: Qu Wenruo &lt;wqu@suse.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: sysfs: export the balance paused state of exclusive operation</title>
<updated>2022-05-05T19:05:56Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2022-05-03T15:35:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e1ad196385c65c1454aceab1226d9a4baca27d5'/>
<id>urn:sha1:3e1ad196385c65c1454aceab1226d9a4baca27d5</id>
<content type='text'>
The new state allowing device addition with paused balance is not
exported to user space so it can't recognize it and actually start the
operation.

Fixes: efc0e69c2fea ("btrfs: introduce exclusive operation BALANCE_PAUSED state")
CC: stable@vger.kernel.org # 5.17
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: replace BUILD_BUG_ON by static_assert</title>
<updated>2022-03-14T12:13:49Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2022-02-01T14:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a55e65b80e318e8917faa781df9955549c6cdaff'/>
<id>urn:sha1:a55e65b80e318e8917faa781df9955549c6cdaff</id>
<content type='text'>
The static_assert introduced in 6bab69c65013 ("build_bug.h: add wrapper
for _Static_assert") has been supported by compilers for a long time
(gcc 4.6, clang 3.0) and can be used in header files. We don't need to
put BUILD_BUG_ON to random functions but rather keep it next to the
definition.

The exception here is the UAPI header btrfs_tree.h that could be
potentially included by userspace code and the static assert is not
defined (nor used in any other header).

Reviewed-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: add definition for EXTENT_TREE_V2</title>
<updated>2022-03-14T12:13:48Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2021-12-15T20:39:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c7d2a230237e7c43fa067d695937b7e484bb92a'/>
<id>urn:sha1:2c7d2a230237e7c43fa067d695937b7e484bb92a</id>
<content type='text'>
This adds the initial definition of the EXTENT_TREE_V2 incompat feature
flag.  This also hides the support behind CONFIG_BTRFS_DEBUG.

THIS IS A IN DEVELOPMENT FORMAT CHANGE, DO NOT USE UNLESS YOU ARE A
DEVELOPER OR A TESTER.

The format is in flux and will be added in stages, any fs will need to
be re-made between updates to the format.

Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: sysfs: add devinfo/fsid to retrieve actual fsid from the device</title>
<updated>2022-01-07T13:18:25Z</updated>
<author>
<name>Anand Jain</name>
</author>
<published>2021-10-21T15:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a26d60dedf9af81df7aeaef66353eb391f85e7a9'/>
<id>urn:sha1:a26d60dedf9af81df7aeaef66353eb391f85e7a9</id>
<content type='text'>
In the case of the seed device, the fsid can be different from the mounted
sprout fsid.  The userland has to read the device superblock to know the
fsid but, that idea fails if the device is missing. So add a sysfs
interface devinfo/&lt;devid&gt;/fsid to show the fsid of the device.

For example:
  $ cd /sys/fs/btrfs/b10b02a5-f9de-4276-b9e8-2bfd09a578a8

  $ cat devinfo/1/fsid
  c44d771f-639d-4df3-99ec-5bc7ad2af93b
  $ cat  devinfo/3/fsid
  b10b02a5-f9de-4276-b9e8-2bfd09a578a8

Though it's related to seeding, the name of the sysfs file is plain fsid as it
matches what blkid says.  A path to the device's fsid will aid scripting.

Reviewed-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: Anand Jain &lt;anand.jain@oracle.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: sysfs: convert scnprintf and snprintf to sysfs_emit</title>
<updated>2021-10-26T17:08:07Z</updated>
<author>
<name>Anand Jain</name>
</author>
<published>2021-10-19T00:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=020e5277583dc26d7a5322ff2d334c764ac1faa8'/>
<id>urn:sha1:020e5277583dc26d7a5322ff2d334c764ac1faa8</id>
<content type='text'>
Commit 2efc459d06f1 ("sysfs: Add sysfs_emit and sysfs_emit_at to format
sysfs out") merged in 5.10 introduced two new functions sysfs_emit() and
sysfs_emit_at() which are aware of the PAGE_SIZE limit of the output
buffer.

Use the above two new functions instead of scnprintf() and snprintf()
in various sysfs show().

Reviewed-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: Anand Jain &lt;anand.jain@oracle.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: sysfs: document structures and their associated files</title>
<updated>2021-08-23T11:19:12Z</updated>
<author>
<name>Anand Jain</name>
</author>
<published>2021-08-10T13:55:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7849e33cf5d785568b181e3c15236e32c7dfdb2'/>
<id>urn:sha1:e7849e33cf5d785568b181e3c15236e32c7dfdb2</id>
<content type='text'>
Sysfs file has grown big. It takes some time to locate the correct
struct attribute to add new files. Create a table and map the struct
attribute to its sysfs path.

Also, fix the comment about the debug sysfs path.  And add the comments
to the attributes instead of attribute group, where sysfs file names are
defined.

Signed-off-by: Anand Jain &lt;anand.jain@oracle.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: zoned: allow disabling of zone auto reclaim</title>
<updated>2021-08-23T11:19:11Z</updated>
<author>
<name>Johannes Thumshirn</name>
</author>
<published>2021-08-09T11:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77233c2d2ec95030afcaf9fd90e4bdd6125e5c15'/>
<id>urn:sha1:77233c2d2ec95030afcaf9fd90e4bdd6125e5c15</id>
<content type='text'>
Automatically reclaiming dirty zones might not always be desired for all
workloads, especially as there are currently still some rough edges with
the relocation code on zoned filesystems.

Allow disabling zone auto reclaim on a per filesystem basis by writing 0
as the threshold value.

Reviewed-by: Naohiro Aota &lt;naohiro.aota@wdc.com&gt;
Signed-off-by: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
</feed>
