<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/btrfs/extent_map.h, branch linux-3.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-02-15T15:40:25Z</updated>
<entry>
<title>btrfs: fix structs where bitfields and spinlock/atomic share 8B word</title>
<updated>2012-02-15T15:40:25Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2012-01-26T20:01:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c08782dacd7a098f2b8bca7f4a57a5b402e9e1e5'/>
<id>urn:sha1:c08782dacd7a098f2b8bca7f4a57a5b402e9e1e5</id>
<content type='text'>
On ia64, powerpc64 and sparc64 the bitfield is modified through a RMW cycle and current
gcc rewrites the adjacent 4B word, which in case of a spinlock or atomic has
disaterous effect.

https://lkml.org/lkml/2012/2/1/220

Signed-off-by: David Sterba &lt;dsterba@suse.cz&gt;
</content>
</entry>
<entry>
<title>btrfs: drop gfp parameter from alloc_extent_map</title>
<updated>2011-05-02T11:57:21Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2011-04-20T22:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=172ddd60a662c4d8bf2809462866ddddd6431ea5'/>
<id>urn:sha1:172ddd60a662c4d8bf2809462866ddddd6431ea5</id>
<content type='text'>
pass GFP_NOFS directly to kmem_cache_alloc

Signed-off-by: David Sterba &lt;dsterba@suse.cz&gt;
</content>
</entry>
<entry>
<title>btrfs: drop unused parameter from extent_map_tree_init</title>
<updated>2011-05-02T11:57:21Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2011-04-20T22:34:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8067e022ab54fde8953880a64572c3acca644dc'/>
<id>urn:sha1:a8067e022ab54fde8953880a64572c3acca644dc</id>
<content type='text'>
the GFP flags are not stored anywhere and all allocations are done via
alloc_extent_map(GFP_NOFS).

Signed-off-by: David Sterba &lt;dsterba@suse.cz&gt;
</content>
</entry>
<entry>
<title>btrfs: Allow to add new compression algorithm</title>
<updated>2010-12-22T15:15:45Z</updated>
<author>
<name>Li Zefan</name>
</author>
<published>2010-12-17T06:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=261507a02ccba9afda919852263b6bc1581ce1ef'/>
<id>urn:sha1:261507a02ccba9afda919852263b6bc1581ce1ef</id>
<content type='text'>
Make the code aware of compression type, instead of always assuming
zlib compression.

Also make the zlib workspace function as common code for all
compression types.

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: search for an allocation hint while filling file COW</title>
<updated>2009-09-18T20:08:52Z</updated>
<author>
<name>Chris Mason</name>
</author>
<published>2009-09-18T20:07:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b917b7c3be50435fa8257591b964934e917f2d45'/>
<id>urn:sha1:b917b7c3be50435fa8257591b964934e917f2d45</id>
<content type='text'>
The allocator has some nice knobs for sending hints about where
to try and allocate new blocks, but when we're doing file allocations
we're not sending any hint at all.

This commit adds a simple extent map search to see if we can
quickly and easily find a hint for the allocator.

Signed-off-by: Chris Mason &lt;chris.mason@oracle.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: Fix extent replacment race</title>
<updated>2009-09-11T17:31:07Z</updated>
<author>
<name>Chris Mason</name>
</author>
<published>2009-09-11T16:27:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1ed835e1ab5795f91b198d08c43e2f56848dcf3'/>
<id>urn:sha1:a1ed835e1ab5795f91b198d08c43e2f56848dcf3</id>
<content type='text'>
Data COW means that whenever we write to a file, we replace any old
extent pointers with new ones.  There was a window where a readpage
might find the old extent pointers on disk and cache them in the
extent_map tree in ram in the middle of a given write replacing them.

Even though both the readpage and the write had their respective bytes
in the file locked, the extent readpage inserts may cover more bytes than
it had locked down.

This commit closes the race by keeping the new extent pinned in the extent
map tree until after the on-disk btree is properly setup with the new
extent pointers.

Signed-off-by: Chris Mason &lt;chris.mason@oracle.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: switch extent_map to a rw lock</title>
<updated>2009-09-11T17:31:05Z</updated>
<author>
<name>Chris Mason</name>
</author>
<published>2009-09-02T20:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=890871be854b5f5e43e7ba2475f706209906cc24'/>
<id>urn:sha1:890871be854b5f5e43e7ba2475f706209906cc24</id>
<content type='text'>
There are two main users of the extent_map tree.  The
first is regular file inodes, where it is evenly spread
between readers and writers.

The second is the chunk allocation tree, which maps blocks from
logical addresses to phyiscal ones, and it is 99.99% reads.

The mapping tree is a point of lock contention during heavy IO
workloads, so this commit switches things to a rw lock.

Signed-off-by: Chris Mason &lt;chris.mason@oracle.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: Fix csum error for compressed data</title>
<updated>2008-11-10T12:34:43Z</updated>
<author>
<name>Yan Zheng</name>
</author>
<published>2008-11-10T12:34:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff5b7ee33d82414bf4baf299c21fb703bcc89629'/>
<id>urn:sha1:ff5b7ee33d82414bf4baf299c21fb703bcc89629</id>
<content type='text'>
The decompress code doesn't take the logical offset in extent
pointer into account. If the logical offset isn't zero, data
will be decompressed into wrong pages.

The solution used here is to record the starting offset of the extent
in the file separately from the logical start of the extent_map struct.
This allows us to avoid problems inserting overlapping extents.

Signed-off-by: Yan Zheng &lt;zheng.yan@oracle.com&gt;

</content>
</entry>
<entry>
<title>Btrfs: Add fallocate support v2</title>
<updated>2008-10-30T18:25:28Z</updated>
<author>
<name>Yan Zheng</name>
</author>
<published>2008-10-30T18:25:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d899e05215178fed903ad0e7fc1cb4d8e0cc0a88'/>
<id>urn:sha1:d899e05215178fed903ad0e7fc1cb4d8e0cc0a88</id>
<content type='text'>
This patch updates btrfs-progs for fallocate support.

fallocate is a little different in Btrfs because we need to tell the
COW system that a given preallocated extent doesn't need to be
cow'd as long as there are no snapshots of it.  This leverages the
-o nodatacow checks.
 
Signed-off-by: Yan Zheng &lt;zheng.yan@oracle.com&gt;

</content>
</entry>
<entry>
<title>Btrfs: update hole handling v2</title>
<updated>2008-10-30T18:19:41Z</updated>
<author>
<name>Yan Zheng</name>
</author>
<published>2008-10-30T18:19:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9036c10208e1fc496cef7692ba66a78699b360dc'/>
<id>urn:sha1:9036c10208e1fc496cef7692ba66a78699b360dc</id>
<content type='text'>
This patch splits the hole insertion code out of btrfs_setattr
into btrfs_cont_expand and updates btrfs_get_extent to properly
handle the case that file extent items are not continuous.

Signed-off-by: Yan Zheng &lt;zheng.yan@oracle.com&gt;

</content>
</entry>
</feed>
