<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs, branch v3.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs?h=v3.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs?h=v3.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-10-14T05:06:39Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs</title>
<updated>2011-10-14T05:06:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-14T05:06:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=480082968a78151e731ebd304eeb6cada61a1cd1'/>
<id>urn:sha1:480082968a78151e731ebd304eeb6cada61a1cd1</id>
<content type='text'>
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
  xfs: revert to using a kthread for AIL pushing
  xfs: force the log if we encounter pinned buffers in .iop_pushbuf
  xfs: do not update xa_last_pushed_lsn for locked items
</content>
</entry>
<entry>
<title>Merge branch 'btrfs-3.0' of git://github.com/chrismason/linux</title>
<updated>2011-10-13T06:20:40Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-13T06:20:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b2f9452bd5234d573898bbda52a410b154f8f510'/>
<id>urn:sha1:b2f9452bd5234d573898bbda52a410b154f8f510</id>
<content type='text'>
* 'btrfs-3.0' of git://github.com/chrismason/linux:
  Btrfs: make sure not to defrag extents past i_size
  Btrfs: fix recursive auto-defrag
</content>
</entry>
<entry>
<title>xfs: revert to using a kthread for AIL pushing</title>
<updated>2011-10-11T16:02:49Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-10-11T15:14:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0030807c66f058230bcb20d2573bcaf28852e804'/>
<id>urn:sha1:0030807c66f058230bcb20d2573bcaf28852e804</id>
<content type='text'>
Currently we have a few issues with the way the workqueue code is used to
implement AIL pushing:

 - it accidentally uses the same workqueue as the syncer action, and thus
   can be prevented from running if there are enough sync actions active
   in the system.
 - it doesn't use the HIGHPRI flag to queue at the head of the queue of
   work items

At this point I'm not confident enough in getting all the workqueue flags and
tweaks right to provide a perfectly reliable execution context for AIL
pushing, which is the most important piece in XFS to make forward progress
when the log fills.

Revert back to use a kthread per filesystem which fixes all the above issues
at the cost of having a task struct and stack around for each mounted
filesystem.  In addition this also gives us much better ways to diagnose
any issues involving hung AIL pushing and removes a small amount of code.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Tested-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Reviewed-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Signed-off-by: Alex Elder &lt;aelder@sgi.com&gt;

</content>
</entry>
<entry>
<title>xfs: force the log if we encounter pinned buffers in .iop_pushbuf</title>
<updated>2011-10-11T16:02:48Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-10-11T15:14:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=17b38471c3c07a49f0bbc2ecc2e92050c164e226'/>
<id>urn:sha1:17b38471c3c07a49f0bbc2ecc2e92050c164e226</id>
<content type='text'>
We need to check for pinned buffers even in .iop_pushbuf given that inode
items flush into the same buffers that may be pinned directly due operations
on the unlinked inode list operating directly on buffers.  To do this add a
return value to .iop_pushbuf that tells the AIL push about this and use
the existing log force mechanisms to unpin it.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Tested-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Reviewed-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Signed-off-by: Alex Elder &lt;aelder@sgi.com&gt;


</content>
</entry>
<entry>
<title>xfs: do not update xa_last_pushed_lsn for locked items</title>
<updated>2011-10-11T16:02:48Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-10-11T15:14:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bc6e588a8971aa74c02e42db4d6e0248679f3738'/>
<id>urn:sha1:bc6e588a8971aa74c02e42db4d6e0248679f3738</id>
<content type='text'>
If an item was locked we should not update xa_last_pushed_lsn and thus skip
it when restarting the AIL scan as we need to be able to lock and write it
out as soon as possible.  Otherwise heavy lock contention might starve AIL
pushing too easily, especially given the larger backoff once we moved
xa_last_pushed_lsn all the way to the target lsn.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Tested-by: Stefan Priebe &lt;s.priebe@profihost.ag&gt;
Reviewed-by: Dave Chinner &lt;dchinner@redhat.com&gt;
Signed-off-by: Alex Elder &lt;aelder@sgi.com&gt;


</content>
</entry>
<entry>
<title>Btrfs: make sure not to defrag extents past i_size</title>
<updated>2011-10-11T15:45:55Z</updated>
<author>
<name>Chris Mason</name>
<email>chris.mason@oracle.com</email>
</author>
<published>2011-10-11T15:41:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f7f43cc84152e53b5687cd0eb8823310ba065524'/>
<id>urn:sha1:f7f43cc84152e53b5687cd0eb8823310ba065524</id>
<content type='text'>
The btrfs file defrag code will loop through the extents and
force COW on them.  But there is a concurrent truncate in the middle of
the defrag, it might end up defragging the same range over and over
again.

The problem is that writepage won't go through and do anything on pages
past i_size, so the cow won't happen, so the file will appear to still
be fragmented.  defrag will end up hitting the same extents again and
again.

In the worst case, the truncate can actually live lock with the defrag
because the defrag keeps creating new ordered extents which the truncate
code keeps waiting on.

The fix here is to make defrag check for i_size inside the main loop,
instead of just once before the looping starts.

Signed-off-by: Chris Mason &lt;chris.mason@oracle.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: fix recursive auto-defrag</title>
<updated>2011-10-10T19:43:34Z</updated>
<author>
<name>Li Zefan</name>
<email>lizf@cn.fujitsu.com</email>
</author>
<published>2011-10-10T19:43:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a0f7f5769992bae5b3f97157fd80b2b943be485'/>
<id>urn:sha1:2a0f7f5769992bae5b3f97157fd80b2b943be485</id>
<content type='text'>
Follow those steps:

  # mount -o autodefrag /dev/sda7 /mnt
  # dd if=/dev/urandom of=/mnt/tmp bs=200K count=1
  # sync
  # dd if=/dev/urandom of=/mnt/tmp bs=8K count=1 conv=notrunc

and then it'll go into a loop: writeback -&gt; defrag -&gt; writeback ...

It's because writeback writes [8K, 200K] and then writes [0, 8K].

I tried to make writeback know if the pages are dirtied by defrag,
but the patch was a bit intrusive. Here I simply set writeback_index
when we defrag a file.

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;chris.mason@oracle.com&gt;
</content>
</entry>
<entry>
<title>Merge git://git.samba.org/sfrench/cifs-2.6</title>
<updated>2011-10-10T02:53:11Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-10T02:53:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=65112dccf8a113737684366349d7f9ec373ddc47'/>
<id>urn:sha1:65112dccf8a113737684366349d7f9ec373ddc47</id>
<content type='text'>
* git://git.samba.org/sfrench/cifs-2.6:
  [CIFS] Fix first time message on mount, ntlmv2 upgrade delayed to 3.2
</content>
</entry>
<entry>
<title>[CIFS] Fix first time message on mount, ntlmv2 upgrade delayed to 3.2</title>
<updated>2011-10-08T01:17:56Z</updated>
<author>
<name>Steve French</name>
<email>sfrench@us.ibm.com</email>
</author>
<published>2011-10-07T04:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9d1e397b7bafe843564eab26ed3f682637159c6c'/>
<id>urn:sha1:9d1e397b7bafe843564eab26ed3f682637159c6c</id>
<content type='text'>
Microsoft has a bug with ntlmv2 that requires use of ntlmssp, but
we didn't get the required information on when/how to use ntlmssp to
old (but once very popular) legacy servers (various NT4 fixpacks
for example) until too late to merge for 3.1.  Will upgrade
to NTLMv2 in NTLMSSP in 3.2

Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'btrfs-3.0' of git://github.com/chrismason/linux</title>
<updated>2011-10-03T19:17:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-03T19:17:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7fd21be75dce605e7cf273bd64b6d733d422fb04'/>
<id>urn:sha1:7fd21be75dce605e7cf273bd64b6d733d422fb04</id>
<content type='text'>
* 'btrfs-3.0' of git://github.com/chrismason/linux:
  Btrfs: force a page fault if we have a shorty copy on a page boundary
</content>
</entry>
</feed>
