<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/btrfs, branch v3.7.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/btrfs?h=v3.7.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/btrfs?h=v3.7.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-26T16:34:04Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs</title>
<updated>2012-10-26T16:34:04Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-10-26T16:34:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f48d42773bd14cfb9f392f32eff1856f924a9e6a'/>
<id>urn:sha1:f48d42773bd14cfb9f392f32eff1856f924a9e6a</id>
<content type='text'>
Pull btrfs fixes from Chris Mason:
 "This has our series of fixes for the next rc.  The biggest batch is
  from Jan Schmidt, fixing up some problems in our subvolume quota code
  and fixing btrfs send/receive to work with the new extended inode
  refs."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  Btrfs: do not bug when we fail to commit the transaction
  Btrfs: fix memory leak when cloning root's node
  Btrfs: Use btrfs_update_inode_fallback when creating a snapshot
  Btrfs: Send: preserve ownership (uid and gid) also for symlinks.
  Btrfs: fix deadlock caused by the nested chunk allocation
  btrfs: Return EINVAL when length to trim is less than FSB
  Btrfs: fix memory leak in btrfs_quota_enable()
  Btrfs: send correct rdev and mode in btrfs-send
  Btrfs: extended inode refs support for send mechanism
  Btrfs: Fix wrong error handling code
  Fix a sign bug causing invalid memory access in the ino_paths ioctl.
  Btrfs: comment for loop in tree_mod_log_insert_move
  Btrfs: fix extent buffer reference for tree mod log roots
  Btrfs: determine level of old roots
  Btrfs: tree mod log's old roots could still be part of the tree
  Btrfs: fix a tree mod logging issue for root replacement operations
  Btrfs: don't put removals from push_node_left into tree mod log twice
</content>
</entry>
<entry>
<title>Btrfs: do not bug when we fail to commit the transaction</title>
<updated>2012-10-25T19:59:57Z</updated>
<author>
<name>Josef Bacik</name>
<email>jbacik@fusionio.com</email>
</author>
<published>2012-10-22T19:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c37b2b6269ee4637fb7cdb5da0d1e47215d57ce2'/>
<id>urn:sha1:c37b2b6269ee4637fb7cdb5da0d1e47215d57ce2</id>
<content type='text'>
We BUG if we fail to commit the transaction when creating a snapshot, which
is just obnoxious.  Remove the BUG_ON().  Thanks,

Signed-off-by: Josef Bacik &lt;jbacik@fusionio.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: fix memory leak when cloning root's node</title>
<updated>2012-10-25T19:55:21Z</updated>
<author>
<name>Liu Bo</name>
<email>bo.li.liu@oracle.com</email>
</author>
<published>2012-10-25T13:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7bfdcf7fbad56c0f1fc3e2d26431bed72bdcce2d'/>
<id>urn:sha1:7bfdcf7fbad56c0f1fc3e2d26431bed72bdcce2d</id>
<content type='text'>
After cloning root's node, we forgot to dec the src's ref
which can lead to a memory leak.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;chris.mason@fusionio.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-chris-fixed' of git://git.jan-o-sch.net/btrfs-unstable</title>
<updated>2012-10-25T19:53:10Z</updated>
<author>
<name>Chris Mason</name>
<email>chris.mason@fusionio.com</email>
</author>
<published>2012-10-25T19:53:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c657c3ef1adb2585ed7d2a6db73d0002926a6726'/>
<id>urn:sha1:c657c3ef1adb2585ed7d2a6db73d0002926a6726</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Btrfs: Use btrfs_update_inode_fallback when creating a snapshot</title>
<updated>2012-10-25T19:50:18Z</updated>
<author>
<name>Josef Bacik</name>
<email>jbacik@fusionio.com</email>
</author>
<published>2012-10-22T19:43:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=be6aef604920406b348acf3be6e6e8db55696386'/>
<id>urn:sha1:be6aef604920406b348acf3be6e6e8db55696386</id>
<content type='text'>
On a really full file system I was getting ENOSPC back from
btrfs_update_inode when trying to update the parent inode when creating a
snapshot.  Just use the fallback method so we can update the inode and not
have to worry about having a delayed ref.  Thanks,

Signed-off-by: Josef Bacik &lt;jbacik@fusionio.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: Send: preserve ownership (uid and gid) also for symlinks.</title>
<updated>2012-10-25T19:47:31Z</updated>
<author>
<name>Alex Lyakas</name>
<email>alex.btrfs@zadarastorage.com</email>
</author>
<published>2012-10-17T13:52:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2d044fe77f8e845333bb1bd29587dc08a4346a0'/>
<id>urn:sha1:e2d044fe77f8e845333bb1bd29587dc08a4346a0</id>
<content type='text'>
This patch also requires a change in the user-space part of "receive".
We need to use "lchown" instead of "chown". We will do this in the
following patch.

Signed-off-by: Alex Lyakas &lt;alex.btrfs@zadarastorage.com&gt;

 	if (S_ISREG(sctx-&gt;cur_inode_mode)) {
</content>
</entry>
<entry>
<title>Btrfs: fix deadlock caused by the nested chunk allocation</title>
<updated>2012-10-25T19:47:00Z</updated>
<author>
<name>Miao Xie</name>
<email>miaox@cn.fujitsu.com</email>
</author>
<published>2012-10-16T11:26:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=671415b7db49f62896f0b6d50fc4f312a0512983'/>
<id>urn:sha1:671415b7db49f62896f0b6d50fc4f312a0512983</id>
<content type='text'>
Steps to reproduce:
 # mkfs.btrfs -m raid1 &lt;disk1&gt; &lt;disk2&gt;
 # btrfstune -S 1 &lt;disk1&gt;
 # mount &lt;disk1&gt; &lt;mnt&gt;
 # btrfs device add &lt;disk3&gt; &lt;disk4&gt; &lt;mnt&gt;
 # mount -o remount,rw &lt;mnt&gt;
 # dd if=/dev/zero of=&lt;mnt&gt;/tmpfile bs=1M count=1
 Deadlock happened.

It is because of the nested chunk allocation. When we wrote the data
into the filesystem, we would allocate the data chunk because there was
no data chunk in the filesystem. At the end of the data chunk allocation,
we should insert the metadata of the data chunk into the extent tree, but
there was no raid1 chunk, so we tried to lock the chunk allocation mutex to
allocate the new chunk, but we had held the mutex, the deadlock happened.

By rights, we would allocate the raid1 chunk when we added the second device
because the profile of the seed filesystem is raid1 and we had two devices.
But we didn't do that in fact. It is because the last step of the first device
insertion didn't commit the transaction. So when we added the second device,
we didn't cow the tree, and just inserted the relative metadata into the leaves
which were generated by the first device insertion, and its profile was dup.

So, I fix this problem by commiting the transaction at the end of the first
device insertion.

Signed-off-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
</content>
</entry>
<entry>
<title>btrfs: Return EINVAL when length to trim is less than FSB</title>
<updated>2012-10-25T19:46:22Z</updated>
<author>
<name>Lukas Czerner</name>
<email>lczerner@redhat.com</email>
</author>
<published>2012-10-16T09:34:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e515c18bfef718a7900924d50198d968565dd60e'/>
<id>urn:sha1:e515c18bfef718a7900924d50198d968565dd60e</id>
<content type='text'>
Currently if len argument in btrfs_ioctl_fitrim() is smaller than
one FSB we will continue and finally return 0 bytes discarded.
However if the length to discard is smaller then file system block
we should really return EINVAL.

Signed-off-by: Lukas Czerner &lt;lczerner@redhat.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: fix memory leak in btrfs_quota_enable()</title>
<updated>2012-10-25T19:45:43Z</updated>
<author>
<name>Tsutomu Itoh</name>
<email>t-itoh@jp.fujitsu.com</email>
</author>
<published>2012-10-16T05:44:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b7ff5b3c4468780b15c6b20cd0567cd9f2aa626'/>
<id>urn:sha1:5b7ff5b3c4468780b15c6b20cd0567cd9f2aa626</id>
<content type='text'>
We should free quota_root before returning from the error
handling code.

Signed-off-by: Tsutomu Itoh &lt;t-itoh@jp.fujitsu.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: send correct rdev and mode in btrfs-send</title>
<updated>2012-10-25T19:45:25Z</updated>
<author>
<name>Arne Jansen</name>
<email>sensille@gmx.net</email>
</author>
<published>2012-10-15T18:28:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d79e50433b2bea09eb680ed5fae15e8a12356353'/>
<id>urn:sha1:d79e50433b2bea09eb680ed5fae15e8a12356353</id>
<content type='text'>
When sending a device file, the stream was missing the mode. Also the
rdev was encoded wrongly.

Signed-off-by: Arne Jansen &lt;sensille@gmx.net&gt;
</content>
</entry>
</feed>
