<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs, branch v3.13.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs?h=v3.13.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs?h=v3.13.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-01-29T13:06:18Z</updated>
<entry>
<title>GFS2: Increase i_writecount during gfs2_setattr_chown</title>
<updated>2014-01-29T13:06:18Z</updated>
<author>
<name>Bob Peterson</name>
<email>rpeterso@redhat.com</email>
</author>
<published>2014-01-06T22:16:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1b8c5f8b4b57c574f6cf2047e80e1565b2a07f09'/>
<id>urn:sha1:1b8c5f8b4b57c574f6cf2047e80e1565b2a07f09</id>
<content type='text'>
commit 62e96cf81988101fe9e086b2877307b6adda5197 upstream.

This patch calls get_write_access in function gfs2_setattr_chown,
which merely increases inode-&gt;i_writecount for the duration of the
function. That will ensure that any file closes won't delete the
inode's multi-block reservation while the function is running.
It also ensures that a multi-block reservation exists when needed
for quota change operations during the chown.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace</title>
<updated>2014-01-18T01:29:36Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-18T01:29:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48ba620aab90f4c7e9bb002e2f30863a4ea0f915'/>
<id>urn:sha1:48ba620aab90f4c7e9bb002e2f30863a4ea0f915</id>
<content type='text'>
Pull namespace fixes from Eric Biederman:
 "This is a set of 3 regression fixes.

  This fixes /proc/mounts when using "ip netns add &lt;netns&gt;" to display
  the actual mount point.

  This fixes a regression in clone that broke lxc-attach.

  This fixes a regression in the permission checks for mounting /proc
  that made proc unmountable if binfmt_misc was in use.  Oops.

  My apologies for sending this pull request so late.  Al Viro gave
  interesting review comments about the d_path fix that I wanted to
  address in detail before I sent this pull request.  Unfortunately a
  bad round of colds kept from addressing that in detail until today.
  The executive summary of the review was:

  Al: Is patching d_path really sufficient?
      The prepend_path, d_path, d_absolute_path, and __d_path family of
      functions is a really mess.

  Me: Yes, patching d_path is really sufficient.  Yes, the code is mess.
      No it is not appropriate to rewrite all of d_path for a regression
      that has existed for entirely too long already, when a two line
      change will do"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
  vfs: Fix a regression in mounting proc
  fork:  Allow CLONE_PARENT after setns(CLONE_NEWPID)
  vfs: In d_path don't call d_dname on a mount point
</content>
</entry>
<entry>
<title>Merge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux</title>
<updated>2014-01-16T01:23:34Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-16T01:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70b23ce347c025a06339abd995b1df4a9fe096ba'/>
<id>urn:sha1:70b23ce347c025a06339abd995b1df4a9fe096ba</id>
<content type='text'>
Pull writeback fix from Wu Fengguang:
 "Fix data corruption on NFS writeback.

  It has been in linux-next for one month"

* tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
  writeback: Fix data corruption on NFS
</content>
</entry>
<entry>
<title>nilfs2: fix segctor bug that causes file system corruption</title>
<updated>2014-01-15T07:19:42Z</updated>
<author>
<name>Andreas Rohner</name>
<email>andreas.rohner@gmx.net</email>
</author>
<published>2014-01-15T01:56:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70f2fe3a26248724d8a5019681a869abdaf3e89a'/>
<id>urn:sha1:70f2fe3a26248724d8a5019681a869abdaf3e89a</id>
<content type='text'>
There is a bug in the function nilfs_segctor_collect, which results in
active data being written to a segment, that is marked as clean.  It is
possible, that this segment is selected for a later segment
construction, whereby the old data is overwritten.

The problem shows itself with the following kernel log message:

  nilfs_sufile_do_cancel_free: segment 6533 must be clean

Usually a few hours later the file system gets corrupted:

  NILFS: bad btree node (blocknr=8748107): level = 0, flags = 0x0, nchildren = 0
  NILFS error (device sdc1): nilfs_bmap_last_key: broken bmap (inode number=114660)

The issue can be reproduced with a file system that is nearly full and
with the cleaner running, while some IO intensive task is running.
Although it is quite hard to reproduce.

This is what happens:

 1. The cleaner starts the segment construction
 2. nilfs_segctor_collect is called
 3. sc_stage is on NILFS_ST_SUFILE and segments are freed
 4. sc_stage is on NILFS_ST_DAT current segment is full
 5. nilfs_segctor_extend_segments is called, which
    allocates a new segment
 6. The new segment is one of the segments freed in step 3
 7. nilfs_sufile_cancel_freev is called and produces an error message
 8. Loop around and the collection starts again
 9. sc_stage is on NILFS_ST_SUFILE and segments are freed
    including the newly allocated segment, which will contain active
    data and can be allocated at a later time
10. A few hours later another segment construction allocates the
    segment and causes file system corruption

This can be prevented by simply reordering the statements.  If
nilfs_sufile_cancel_freev is called before nilfs_segctor_extend_segments
the freed segments are marked as dirty and cannot be allocated any more.

Signed-off-by: Andreas Rohner &lt;andreas.rohner@gmx.net&gt;
Reviewed-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Tested-by: Andreas Rohner &lt;andreas.rohner@gmx.net&gt;
Signed-off-by: Ryusuke Konishi &lt;konishi.ryusuke@lab.ntt.co.jp&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'xfs-for-linus-v3.13-rc8' of git://oss.sgi.com/xfs/xfs</title>
<updated>2014-01-10T23:33:03Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-10T23:33:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2bc44706faa1852471cc101f3c5cdd757dddcd0'/>
<id>urn:sha1:e2bc44706faa1852471cc101f3c5cdd757dddcd0</id>
<content type='text'>
Pull xfs bugfixes from Ben Myers:
 "Here we have a bugfix for an off-by-one in the remote attribute
  verifier that results in a forced shutdown which you can hit with v5
  superblock by creating a 64k xattr, and a fix for a missing
  destroy_work_on_stack() in the allocation worker.

  It's a bit late, but they are both fairly straightforward"

* tag 'xfs-for-linus-v3.13-rc8' of git://oss.sgi.com/xfs/xfs:
  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()
  xfs: fix off-by-one error in xfs_attr3_rmt_verify
</content>
</entry>
<entry>
<title>xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()</title>
<updated>2014-01-10T18:39:38Z</updated>
<author>
<name>Chuansheng Liu</name>
<email>chuansheng.liu@intel.com</email>
</author>
<published>2014-01-07T08:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1f4a63bf019524c96e79f088cd717b96ef00a249'/>
<id>urn:sha1:1f4a63bf019524c96e79f088cd717b96ef00a249</id>
<content type='text'>
In case CONFIG_DEBUG_OBJECTS_WORK is defined, it is needed to
call destroy_work_on_stack() which frees the debug object to pair
with INIT_WORK_ONSTACK().

Signed-off-by: Liu, Chuansheng &lt;chuansheng.liu@intel.com&gt;
Reviewed-by: Ben Myers &lt;bpm@sgi.com&gt;
Signed-off-by: Ben Myers &lt;bpm@sgi.com&gt;

(cherry picked from commit 6f96b3063cdd473c68664a190524ed966ac0cd92)
</content>
</entry>
<entry>
<title>xfs: fix off-by-one error in xfs_attr3_rmt_verify</title>
<updated>2014-01-10T18:38:41Z</updated>
<author>
<name>Jie Liu</name>
<email>jeff.liu@oracle.com</email>
</author>
<published>2014-01-01T11:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bba719b5004234e55737e7074b81b337210c511d'/>
<id>urn:sha1:bba719b5004234e55737e7074b81b337210c511d</id>
<content type='text'>
With CRC check is enabled, if trying to set an attributes value just
equal to the maximum size of XATTR_SIZE_MAX would cause the v3 remote
attr write verification procedure failure, which would yield the back
trace like below:

&lt;snip&gt;
XFS (sda7): Internal error xfs_attr3_rmt_write_verify at line 191 of file fs/xfs/xfs_attr_remote.c
&lt;snip&gt;
Call Trace:
[&lt;ffffffff816f0042&gt;] dump_stack+0x45/0x56
[&lt;ffffffffa0d99c8b&gt;] xfs_error_report+0x3b/0x40 [xfs]
[&lt;ffffffffa0d96edd&gt;] ? _xfs_buf_ioapply+0x6d/0x390 [xfs]
[&lt;ffffffffa0d99ce5&gt;] xfs_corruption_error+0x55/0x80 [xfs]
[&lt;ffffffffa0dbef6b&gt;] xfs_attr3_rmt_write_verify+0x14b/0x1a0 [xfs]
[&lt;ffffffffa0d96edd&gt;] ? _xfs_buf_ioapply+0x6d/0x390 [xfs]
[&lt;ffffffffa0d97315&gt;] ? xfs_bdstrat_cb+0x55/0xb0 [xfs]
[&lt;ffffffffa0d96edd&gt;] _xfs_buf_ioapply+0x6d/0x390 [xfs]
[&lt;ffffffff81184cda&gt;] ? vm_map_ram+0x31a/0x460
[&lt;ffffffff81097230&gt;] ? wake_up_state+0x20/0x20
[&lt;ffffffffa0d97315&gt;] ? xfs_bdstrat_cb+0x55/0xb0 [xfs]
[&lt;ffffffffa0d9726b&gt;] xfs_buf_iorequest+0x6b/0xc0 [xfs]
[&lt;ffffffffa0d97315&gt;] xfs_bdstrat_cb+0x55/0xb0 [xfs]
[&lt;ffffffffa0d97906&gt;] xfs_bwrite+0x46/0x80 [xfs]
[&lt;ffffffffa0dbfa94&gt;] xfs_attr_rmtval_set+0x334/0x490 [xfs]
[&lt;ffffffffa0db84aa&gt;] xfs_attr_leaf_addname+0x24a/0x410 [xfs]
[&lt;ffffffffa0db8893&gt;] xfs_attr_set_int+0x223/0x470 [xfs]
[&lt;ffffffffa0db8b76&gt;] xfs_attr_set+0x96/0xb0 [xfs]
[&lt;ffffffffa0db13b2&gt;] xfs_xattr_set+0x42/0x70 [xfs]
[&lt;ffffffff811df9b2&gt;] generic_setxattr+0x62/0x80
[&lt;ffffffff811e0213&gt;] __vfs_setxattr_noperm+0x63/0x1b0
[&lt;ffffffff81307afe&gt;] ? evm_inode_setxattr+0xe/0x10
[&lt;ffffffff811e0415&gt;] vfs_setxattr+0xb5/0xc0
[&lt;ffffffff811e054e&gt;] setxattr+0x12e/0x1c0
[&lt;ffffffff811c6e82&gt;] ? final_putname+0x22/0x50
[&lt;ffffffff811c708b&gt;] ? putname+0x2b/0x40
[&lt;ffffffff811cc4bf&gt;] ? user_path_at_empty+0x5f/0x90
[&lt;ffffffff811bdfd9&gt;] ? __sb_start_write+0x49/0xe0
[&lt;ffffffff81168589&gt;] ? vm_mmap_pgoff+0x99/0xc0
[&lt;ffffffff811e07df&gt;] SyS_setxattr+0x8f/0xe0
[&lt;ffffffff81700c2d&gt;] system_call_fastpath+0x1a/0x1f

Tests:
    setfattr -n user.longxattr -v `perl -e 'print "A"x65536'` testfile

This patch fix it to check the remote EA size is greater than the
XATTR_SIZE_MAX rather than more than or equal to it, because it's
valid if the specified EA value size is equal to the limitation as
per VFS setxattr interface.

Signed-off-by: Jie Liu &lt;jeff.liu@oracle.com&gt;
Reviewed-by: Mark Tinguely &lt;tinguely@sgi.com&gt;
Signed-off-by: Ben Myers &lt;bpm@sgi.com&gt;

(cherry picked from commit 85dd0707f0cad26d60f2dc574d17a5ab948d10f7)
</content>
</entry>
<entry>
<title>Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4</title>
<updated>2014-01-07T00:22:42Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-07T00:22:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef350bb7c5e0748f7d17f1d70c6b0eec5f64f446'/>
<id>urn:sha1:ef350bb7c5e0748f7d17f1d70c6b0eec5f64f446</id>
<content type='text'>
Pull ext4 bugfix from Ted Ts'o:
 "Fix a regression introduced in v3.13-rc6"

* tag 'ext4_for_linus_stable' of http://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: fix bigalloc regression
</content>
</entry>
<entry>
<title>ext4: fix bigalloc regression</title>
<updated>2014-01-06T19:00:23Z</updated>
<author>
<name>Eric Whitney</name>
<email>enwlinux@gmail.com</email>
</author>
<published>2014-01-06T19:00:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0abafac8c9162f39c4f6b2f8141b772a09b3770'/>
<id>urn:sha1:d0abafac8c9162f39c4f6b2f8141b772a09b3770</id>
<content type='text'>
Commit f5a44db5d2 introduced a regression on filesystems created with
the bigalloc feature (cluster size &gt; blocksize).  It causes xfstests
generic/006 and /013 to fail with an unexpected JBD2 failure and
transaction abort that leaves the test file system in a read only state.
Other xfstests run on bigalloc file systems are likely to fail as well.

The cause is the accidental use of a cluster mask where a cluster
offset was needed in ext4_ext_map_blocks().

Signed-off-by: Eric Whitney &lt;enwlinux@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'akpm' (incoming from Andrew)</title>
<updated>2014-01-02T22:40:38Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-02T22:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=06f055f394da2364b944d41b9609589763ae762a'/>
<id>urn:sha1:06f055f394da2364b944d41b9609589763ae762a</id>
<content type='text'>
Merge patches from Andrew Morton:
 "Ten fixes"

* emailed patches from Andrew Morton &lt;akpm@linux-foundation.org&gt;:
  epoll: do not take the nested ep-&gt;mtx on EPOLL_CTL_DEL
  sh: add EXPORT_SYMBOL(min_low_pfn) and EXPORT_SYMBOL(max_low_pfn) to sh_ksyms_32.c
  drivers/dma/ioat/dma.c: check DMA mapping error in ioat_dma_self_test()
  mm/memory-failure.c: transfer page count from head page to tail page after split thp
  MAINTAINERS: set up proper record for Xilinx Zynq
  mm: remove bogus warning in copy_huge_pmd()
  memcg: fix memcg_size() calculation
  mm: fix use-after-free in sys_remap_file_pages
  mm: munlock: fix deadlock in __munlock_pagevec()
  mm: munlock: fix a bug where THP tail page is encountered
</content>
</entry>
</feed>
