<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/fs/ext4, branch v3.19.2</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>ext4: ignore journal checksum on remount; don't fail</title>
<updated>2015-03-06T22:57:14+00:00</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2015-02-13T04:07:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9786567e45eee30e68af97926de96905e765e48d'/>
<id>9786567e45eee30e68af97926de96905e765e48d</id>
<content type='text'>
commit 2d5b86e048780c5efa7f7d9708815555919e7b05 upstream.

As of v3.18, ext4 started rejecting a remount which changes the
journal_checksum option.

Prior to that, it was simply ignored; the problem here is that
if someone has this in their fstab for the root fs, now the box
fails to boot properly, because remount of root with the new options
will fail, and the box proceeds with a readonly root.

I think it is a little nicer behavior to accept the option, but
warn that it's being ignored, rather than failing the mount,
but that might be a subjective matter...

Reported-by: Cónräd &lt;conradsand.arma@gmail.com&gt;
Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2d5b86e048780c5efa7f7d9708815555919e7b05 upstream.

As of v3.18, ext4 started rejecting a remount which changes the
journal_checksum option.

Prior to that, it was simply ignored; the problem here is that
if someone has this in their fstab for the root fs, now the box
fails to boot properly, because remount of root with the new options
will fail, and the box proceeds with a readonly root.

I think it is a little nicer behavior to accept the option, but
warn that it's being ignored, rather than failing the mount,
but that might be a subjective matter...

Reported-by: Cónräd &lt;conradsand.arma@gmail.com&gt;
Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4</title>
<updated>2015-01-06T22:05:40+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-01-06T22:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3b421b80be635d696848b72d3c7700a0e5ee3414'/>
<id>3b421b80be635d696848b72d3c7700a0e5ee3414</id>
<content type='text'>
Pull ext4 bugfixes from Ted Ts'o:
 "Revert a potential seek_data/hole regression which shows up when using
  ext4 to handle ext3 file systems, plus two minor bug fixes"

* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: remove spurious KERN_INFO from ext4_warning call
  Revert "ext4: fix suboptimal seek_{data,hole} extents traversial"
  ext4: prevent online resize with backup superblock
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ext4 bugfixes from Ted Ts'o:
 "Revert a potential seek_data/hole regression which shows up when using
  ext4 to handle ext3 file systems, plus two minor bug fixes"

* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: remove spurious KERN_INFO from ext4_warning call
  Revert "ext4: fix suboptimal seek_{data,hole} extents traversial"
  ext4: prevent online resize with backup superblock
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: remove spurious KERN_INFO from ext4_warning call</title>
<updated>2015-01-02T20:31:14+00:00</updated>
<author>
<name>Jakub Wilk</name>
<email>jwilk@jwilk.net</email>
</author>
<published>2015-01-02T20:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=363307e6e561cde78572fd22e7fd00cd3e5adb02'/>
<id>363307e6e561cde78572fd22e7fd00cd3e5adb02</id>
<content type='text'>
Signed-off-by: Jakub Wilk &lt;jwilk@jwilk.net&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Jakub Wilk &lt;jwilk@jwilk.net&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "ext4: fix suboptimal seek_{data,hole} extents traversial"</title>
<updated>2015-01-02T20:16:00+00:00</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2015-01-02T20:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ad7fefb109b0418bb4f16fc1176fd082f986698b'/>
<id>ad7fefb109b0418bb4f16fc1176fd082f986698b</id>
<content type='text'>
This reverts commit 14516bb7bb6ffbd49f35389f9ece3b2045ba5815.

This was causing regression test failures with generic/285 with an ext3
filesystem using CONFIG_EXT4_USE_FOR_EXT23.

Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 14516bb7bb6ffbd49f35389f9ece3b2045ba5815.

This was causing regression test failures with generic/285 with an ext3
filesystem using CONFIG_EXT4_USE_FOR_EXT23.

Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: prevent online resize with backup superblock</title>
<updated>2014-12-27T04:58:21+00:00</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2014-12-27T04:58:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=011fa99404bea3f5d897c4983f6bd51170e3b18f'/>
<id>011fa99404bea3f5d897c4983f6bd51170e3b18f</id>
<content type='text'>
Prevent BUG or corrupted file systems after the following:

mkfs.ext4 /dev/vdc 100M
mount -t ext4 -o sb=40961 /dev/vdc /vdc
resize2fs /dev/vdc

We previously prevented online resizing using the old resize ioctl.
Move the code to ext4_resize_begin(), so the check applies for all of
the resize ioctl's.

Reported-by: Maxim Malkov &lt;malkov@ispras.ru&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent BUG or corrupted file systems after the following:

mkfs.ext4 /dev/vdc 100M
mount -t ext4 -o sb=40961 /dev/vdc /vdc
resize2fs /dev/vdc

We previously prevented online resizing using the old resize ioctl.
Move the code to ext4_resize_begin(), so the check applies for all of
the resize ioctl's.

Reported-by: Maxim Malkov &lt;malkov@ispras.ru&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>move_extent_per_page(): get rid of unused w_flags</title>
<updated>2014-12-17T11:43:56+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2014-12-17T09:37:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b1bc6d7f163234cad4f34e3f5dffde44b96369eb'/>
<id>b1bc6d7f163234cad4f34e3f5dffde44b96369eb</id>
<content type='text'>
... and comparing get_fs() with KERNEL_DS used only to initialize that

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... and comparing get_fs() with KERNEL_DS used only to initialize that

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4</title>
<updated>2014-12-12T17:28:03+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-12-12T17:28:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9bfccec24e31f4f83445cfe0c1b0a5ef97900628'/>
<id>9bfccec24e31f4f83445cfe0c1b0a5ef97900628</id>
<content type='text'>
Pull ext4 updates from Ted Ts'o:
 "Lots of bugs fixes, including Zheng and Jan's extent status shrinker
  fixes, which should improve CPU utilization and potential soft lockups
  under heavy memory pressure, and Eric Whitney's bigalloc fixes"

* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (26 commits)
  ext4: ext4_da_convert_inline_data_to_extent drop locked page after error
  ext4: fix suboptimal seek_{data,hole} extents traversial
  ext4: ext4_inline_data_fiemap should respect callers argument
  ext4: prevent fsreentrance deadlock for inline_data
  ext4: forbid journal_async_commit in data=ordered mode
  jbd2: remove unnecessary NULL check before iput()
  ext4: Remove an unnecessary check for NULL before iput()
  ext4: remove unneeded code in ext4_unlink
  ext4: don't count external journal blocks as overhead
  ext4: remove never taken branch from ext4_ext_shift_path_extents()
  ext4: create nojournal_checksum mount option
  ext4: update comments regarding ext4_delete_inode()
  ext4: cleanup GFP flags inside resize path
  ext4: introduce aging to extent status tree
  ext4: cleanup flag definitions for extent status tree
  ext4: limit number of scanned extents in status tree shrinker
  ext4: move handling of list of shrinkable inodes into extent status code
  ext4: change LRU to round-robin in extent status tree shrinker
  ext4: cache extent hole in extent status tree for ext4_da_map_blocks()
  ext4: fix block reservation for bigalloc filesystems
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ext4 updates from Ted Ts'o:
 "Lots of bugs fixes, including Zheng and Jan's extent status shrinker
  fixes, which should improve CPU utilization and potential soft lockups
  under heavy memory pressure, and Eric Whitney's bigalloc fixes"

* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (26 commits)
  ext4: ext4_da_convert_inline_data_to_extent drop locked page after error
  ext4: fix suboptimal seek_{data,hole} extents traversial
  ext4: ext4_inline_data_fiemap should respect callers argument
  ext4: prevent fsreentrance deadlock for inline_data
  ext4: forbid journal_async_commit in data=ordered mode
  jbd2: remove unnecessary NULL check before iput()
  ext4: Remove an unnecessary check for NULL before iput()
  ext4: remove unneeded code in ext4_unlink
  ext4: don't count external journal blocks as overhead
  ext4: remove never taken branch from ext4_ext_shift_path_extents()
  ext4: create nojournal_checksum mount option
  ext4: update comments regarding ext4_delete_inode()
  ext4: cleanup GFP flags inside resize path
  ext4: introduce aging to extent status tree
  ext4: cleanup flag definitions for extent status tree
  ext4: limit number of scanned extents in status tree shrinker
  ext4: move handling of list of shrinkable inodes into extent status code
  ext4: change LRU to round-robin in extent status tree shrinker
  ext4: cache extent hole in extent status tree for ext4_da_map_blocks()
  ext4: fix block reservation for bigalloc filesystems
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: ext4_da_convert_inline_data_to_extent drop locked page after error</title>
<updated>2014-12-06T02:37:15+00:00</updated>
<author>
<name>Dmitry Monakhov</name>
<email>dmonakhov@openvz.org</email>
</author>
<published>2014-12-06T02:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=50db71abc529c48b21f4c3034d3cff27cfb25795'/>
<id>50db71abc529c48b21f4c3034d3cff27cfb25795</id>
<content type='text'>
Testcase:
xfstests generic/270
MKFS_OPTIONS="-q -I 256 -O inline_data,64bit"

Call Trace:
 [&lt;ffffffff81144c76&gt;] lock_page+0x35/0x39 -------&gt; DEADLOCK
 [&lt;ffffffff81145260&gt;] pagecache_get_page+0x65/0x15a
 [&lt;ffffffff811507fc&gt;] truncate_inode_pages_range+0x1db/0x45c
 [&lt;ffffffff8120ea63&gt;] ? ext4_da_get_block_prep+0x439/0x4b6
 [&lt;ffffffff811b29b7&gt;] ? __block_write_begin+0x284/0x29c
 [&lt;ffffffff8120e62a&gt;] ? ext4_change_inode_journal_flag+0x16b/0x16b
 [&lt;ffffffff81150af0&gt;] truncate_inode_pages+0x12/0x14
 [&lt;ffffffff81247cb4&gt;] ext4_truncate_failed_write+0x19/0x25
 [&lt;ffffffff812488cf&gt;] ext4_da_write_inline_data_begin+0x196/0x31c
 [&lt;ffffffff81210dad&gt;] ext4_da_write_begin+0x189/0x302
 [&lt;ffffffff810c07ac&gt;] ? trace_hardirqs_on+0xd/0xf
 [&lt;ffffffff810ddd13&gt;] ? read_seqcount_begin.clone.1+0x9f/0xcc
 [&lt;ffffffff8114309d&gt;] generic_perform_write+0xc7/0x1c6
 [&lt;ffffffff810c040e&gt;] ? mark_held_locks+0x59/0x77
 [&lt;ffffffff811445d1&gt;] __generic_file_write_iter+0x17f/0x1c5
 [&lt;ffffffff8120726b&gt;] ext4_file_write_iter+0x2a5/0x354
 [&lt;ffffffff81185656&gt;] ? file_start_write+0x2a/0x2c
 [&lt;ffffffff8107bcdb&gt;] ? bad_area_nosemaphore+0x13/0x15
 [&lt;ffffffff811858ce&gt;] new_sync_write+0x8a/0xb2
 [&lt;ffffffff81186e7b&gt;] vfs_write+0xb5/0x14d
 [&lt;ffffffff81186ffb&gt;] SyS_write+0x5c/0x8c
 [&lt;ffffffff816f2529&gt;] system_call_fastpath+0x12/0x17

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Testcase:
xfstests generic/270
MKFS_OPTIONS="-q -I 256 -O inline_data,64bit"

Call Trace:
 [&lt;ffffffff81144c76&gt;] lock_page+0x35/0x39 -------&gt; DEADLOCK
 [&lt;ffffffff81145260&gt;] pagecache_get_page+0x65/0x15a
 [&lt;ffffffff811507fc&gt;] truncate_inode_pages_range+0x1db/0x45c
 [&lt;ffffffff8120ea63&gt;] ? ext4_da_get_block_prep+0x439/0x4b6
 [&lt;ffffffff811b29b7&gt;] ? __block_write_begin+0x284/0x29c
 [&lt;ffffffff8120e62a&gt;] ? ext4_change_inode_journal_flag+0x16b/0x16b
 [&lt;ffffffff81150af0&gt;] truncate_inode_pages+0x12/0x14
 [&lt;ffffffff81247cb4&gt;] ext4_truncate_failed_write+0x19/0x25
 [&lt;ffffffff812488cf&gt;] ext4_da_write_inline_data_begin+0x196/0x31c
 [&lt;ffffffff81210dad&gt;] ext4_da_write_begin+0x189/0x302
 [&lt;ffffffff810c07ac&gt;] ? trace_hardirqs_on+0xd/0xf
 [&lt;ffffffff810ddd13&gt;] ? read_seqcount_begin.clone.1+0x9f/0xcc
 [&lt;ffffffff8114309d&gt;] generic_perform_write+0xc7/0x1c6
 [&lt;ffffffff810c040e&gt;] ? mark_held_locks+0x59/0x77
 [&lt;ffffffff811445d1&gt;] __generic_file_write_iter+0x17f/0x1c5
 [&lt;ffffffff8120726b&gt;] ext4_file_write_iter+0x2a5/0x354
 [&lt;ffffffff81185656&gt;] ? file_start_write+0x2a/0x2c
 [&lt;ffffffff8107bcdb&gt;] ? bad_area_nosemaphore+0x13/0x15
 [&lt;ffffffff811858ce&gt;] new_sync_write+0x8a/0xb2
 [&lt;ffffffff81186e7b&gt;] vfs_write+0xb5/0x14d
 [&lt;ffffffff81186ffb&gt;] SyS_write+0x5c/0x8c
 [&lt;ffffffff816f2529&gt;] system_call_fastpath+0x12/0x17

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: fix suboptimal seek_{data,hole} extents traversial</title>
<updated>2014-12-02T23:08:53+00:00</updated>
<author>
<name>Dmitry Monakhov</name>
<email>dmonakhov@openvz.org</email>
</author>
<published>2014-12-02T23:08:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=14516bb7bb6ffbd49f35389f9ece3b2045ba5815'/>
<id>14516bb7bb6ffbd49f35389f9ece3b2045ba5815</id>
<content type='text'>
It is ridiculous practice to scan inode block by block, this technique
applicable only for old indirect files. This takes significant amount
of time for really large files. Let's reuse ext4_fiemap which already
traverse inode-tree in most optimal meaner.

TESTCASE:
ftruncate64(fd, 0);
ftruncate64(fd, 1ULL &lt;&lt; 40);
/* lseek will spin very long time */
lseek64(fd, 0, SEEK_DATA);
lseek64(fd, 0, SEEK_HOLE);

Original report: https://lkml.org/lkml/2014/10/16/620

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is ridiculous practice to scan inode block by block, this technique
applicable only for old indirect files. This takes significant amount
of time for really large files. Let's reuse ext4_fiemap which already
traverse inode-tree in most optimal meaner.

TESTCASE:
ftruncate64(fd, 0);
ftruncate64(fd, 1ULL &lt;&lt; 40);
/* lseek will spin very long time */
lseek64(fd, 0, SEEK_DATA);
lseek64(fd, 0, SEEK_HOLE);

Original report: https://lkml.org/lkml/2014/10/16/620

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: ext4_inline_data_fiemap should respect callers argument</title>
<updated>2014-12-02T21:11:20+00:00</updated>
<author>
<name>Dmitry Monakhov</name>
<email>dmonakhov@openvz.org</email>
</author>
<published>2014-12-02T21:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d952d69e268f833c85c0bafee9f67f9dba85044b'/>
<id>d952d69e268f833c85c0bafee9f67f9dba85044b</id>
<content type='text'>
Currently ext4_inline_data_fiemap ignores requested arguments (start
and len) which may lead endless loop if start != 0.  Also fix incorrect
extent length determination.

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently ext4_inline_data_fiemap ignores requested arguments (start
and len) which may lead endless loop if start != 0.  Also fix incorrect
extent length determination.

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Theodore Ts'o &lt;tytso@mit.edu&gt;
</pre>
</div>
</content>
</entry>
</feed>
