<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/ext3, branch v3.0.81</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/ext3?h=v3.0.81</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/ext3?h=v3.0.81'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-20T19:58:51Z</updated>
<entry>
<title>ext3: Fix format string issues</title>
<updated>2013-03-20T19:58:51Z</updated>
<author>
<name>Lars-Peter Clausen</name>
<email>lars@metafoo.de</email>
</author>
<published>2013-03-09T14:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64365ddb08f27f2583f2323a147520fed192ef40'/>
<id>urn:sha1:64365ddb08f27f2583f2323a147520fed192ef40</id>
<content type='text'>
commit 8d0c2d10dd72c5292eda7a06231056a4c972e4cc upstream.

ext3_msg() takes the printk prefix as the second parameter and the
format string as the third parameter. Two callers of ext3_msg omit the
prefix and pass the format string as the second parameter and the first
parameter to the format string as the third parameter. In both cases
this string comes from an arbitrary source. Which means the string may
contain format string characters, which will
lead to undefined and potentially harmful behavior.

The issue was introduced in commit 4cf46b67eb("ext3: Unify log messages
in ext3") and is fixed by this patch.

Signed-off-by: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ext3: Fix fdatasync() for files with only i_size changes</title>
<updated>2012-09-14T17:00:50Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2012-09-03T14:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=04234b36211285e5242794b75137f42f177e0ef5'/>
<id>urn:sha1:04234b36211285e5242794b75137f42f177e0ef5</id>
<content type='text'>
commit 156bddd8e505b295540f3ca0e27dda68cb0d49aa upstream.

Code tracking when transaction needs to be committed on fdatasync(2) forgets
to handle a situation when only inode's i_size is changed. Thus in such
situations fdatasync(2) doesn't force transaction with new i_size to disk
and that can result in wrong i_size after a crash.

Fix the issue by updating inode's i_datasync_tid whenever its size is
updated.

Reported-by: Kristian Nielsen &lt;knielsen@knielsen-hq.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ext3: Fix error handling on inode bitmap corruption</title>
<updated>2012-05-21T16:40:04Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2011-12-08T20:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8e8a21270cbfc41bf3bf2e014b99dc113ba554ec'/>
<id>urn:sha1:8e8a21270cbfc41bf3bf2e014b99dc113ba554ec</id>
<content type='text'>
commit 1415dd8705394399d59a3df1ab48d149e1e41e77 upstream.

When insert_inode_locked() fails in ext3_new_inode() it most likely
means inode bitmap got corrupted and we allocated again inode which
is already in use. Also doing unlock_new_inode() during error recovery
is wrong since inode does not have I_NEW set. Fix the problem by jumping
to fail: (instead of fail_drop:) which declares filesystem error and
does not call unlock_new_inode().

Reviewed-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ext3: Don't warn from writepage when readonly inode is spotted after error</title>
<updated>2012-01-12T19:35:06Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2011-12-22T15:49:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42e857c955b65b25062e5af605c4164e5e32b144'/>
<id>urn:sha1:42e857c955b65b25062e5af605c4164e5e32b144</id>
<content type='text'>
commit 33c104d415e92a51aaf638dc3d93920cfa601e5c upstream.

WARN_ON_ONCE(IS_RDONLY(inode)) tends to trip when filesystem hits error and is
remounted read-only. This unnecessarily scares users (well, they should be
scared because of filesystem error, but the stack trace distracts them from the
right source of their fear ;-). We could as well just remove the WARN_ON but
it's not hard to fix it to not trip on filesystem with errors and not use more
cycles in the common case so that's what we do.

Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ext3: Properly count journal credits for long symlinks</title>
<updated>2011-08-16T01:31:42Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2011-08-11T14:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1ae2a2c0515870d784f1ea101b079bd0962b6cd5'/>
<id>urn:sha1:1ae2a2c0515870d784f1ea101b079bd0962b6cd5</id>
<content type='text'>
commit d2db60df1e7eb39cf0f378dfc4dd8813666d46ef upstream.

Commit ae54870a1dc9 ("ext3: Fix lock inversion in ext3_symlink()")
recalculated the number of credits needed for a long symlink, in the
process of splitting it into two transactions.  However, the first
credit calculation under-counted because if selinux is enabled, credits
are needed to create the selinux xattr as well.

Overrunning the reservation will result in an OOPS in
journal_dirty_metadata() due to this assert:

  J_ASSERT_JH(jh, handle-&gt;h_buffer_credits &gt; 0);

Fix this by increasing the reservation size.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Acked-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ext3: Fix oops in ext3_try_to_allocate_with_rsv()</title>
<updated>2011-08-05T04:58:39Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2011-05-30T11:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57073d3492dd72685cdcc61b6fb8d05b3a38e891'/>
<id>urn:sha1:57073d3492dd72685cdcc61b6fb8d05b3a38e891</id>
<content type='text'>
commit ad95c5e9bc8b5885f94dce720137cac8fa8da4c9 upstream.

Block allocation is called from two places: ext3_get_blocks_handle() and
ext3_xattr_block_set(). These two callers are not necessarily synchronized
because xattr code holds only xattr_sem and i_mutex, and
ext3_get_blocks_handle() may hold only truncate_mutex when called from
writepage() path. Block reservation code does not expect two concurrent
allocations to happen to the same inode and thus assertions can be triggered
or reservation structure corruption can occur.

Fix the problem by taking truncate_mutex in xattr code to serialize
allocations.

CC: Sage Weil &lt;sage@newdream.net&gt;
Reported-by: Fyodor Ustinov &lt;ufm@ufm.su&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fs: pass exact type of data dirties to -&gt;dirty_inode</title>
<updated>2011-05-27T11:04:40Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-05-27T10:53:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa38572954ade525817fe88c54faebf85e5a61c0'/>
<id>urn:sha1:aa38572954ade525817fe88c54faebf85e5a61c0</id>
<content type='text'>
Tell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or
anything else, so that the filesystem can track internally if it
needs to push out a transaction for fdatasync or not.

This is just the prototype change with no user for it yet.  I plan
to push large XFS changes for the next merge window, and getting
this trivial infrastructure in this window would help a lot to avoid
tree interdependencies.

Also remove incorrect comments that -&gt;dirty_inode can't block.  That
has been changed a long time ago, and many implementations rely on it.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem</title>
<updated>2011-05-26T17:50:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-26T17:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f8d613e2a665bf1be9628a3c3f9bafe7599b32c0'/>
<id>urn:sha1:f8d613e2a665bf1be9628a3c3f9bafe7599b32c0</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:
  xen: cleancache shim to Xen Transcendent Memory
  ocfs2: add cleancache support
  ext4: add cleancache support
  btrfs: add cleancache support
  ext3: add cleancache support
  mm/fs: add hooks to support cleancache
  mm: cleancache core ops functions and config
  fs: add field to superblock to support cleancache
  mm/fs: cleancache documentation

Fix up trivial conflict in fs/btrfs/extent_io.c due to includes
</content>
</entry>
<entry>
<title>ext3: add cleancache support</title>
<updated>2011-05-26T16:01:49Z</updated>
<author>
<name>Dan Magenheimer</name>
<email>dan.magenheimer@oracle.com</email>
</author>
<published>2011-05-26T16:01:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d71bc6db5e48066bde78a480bb9e3057b3db1a3c'/>
<id>urn:sha1:d71bc6db5e48066bde78a480bb9e3057b3db1a3c</id>
<content type='text'>
This fifth patch of eight in this cleancache series "opts-in"
cleancache for ext3.  Filesystems must explicitly enable
cleancache by calling cleancache_init_fs anytime an instance
of the filesystem is mounted. For ext3, all other cleancache
hooks are in the VFS layer including the matching cleancache_flush_fs
hook which must be called on unmount.

Details and a FAQ can be found in Documentation/vm/cleancache.txt

[v6-v8: no changes]
[v5: jeremy@goop.org: simplify init hook and any future fs init changes]
Signed-off-by: Dan Magenheimer &lt;dan.magenheimer@oracle.com&gt;
Reviewed-by: Jeremy Fitzhardinge &lt;jeremy@goop.org&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Acked-by: Andreas Dilger &lt;adilger@sun.com&gt;
Cc: Ted Ts'o &lt;tytso@mit.edu&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Al Viro &lt;viro@ZenIV.linux.org.uk&gt;
Cc: Matthew Wilcox &lt;matthew@wil.cx&gt;
Cc: Nick Piggin &lt;npiggin@kernel.dk&gt;
Cc: Mel Gorman &lt;mel@csn.ul.ie&gt;
Cc: Rik Van Riel &lt;riel@redhat.com&gt;
Cc: Jan Beulich &lt;JBeulich@novell.com&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Mark Fasheh &lt;mfasheh@suse.com&gt;
Cc: Joel Becker &lt;joel.becker@oracle.com&gt;
Cc: Nitin Gupta &lt;ngupta@vflare.org&gt;
</content>
</entry>
<entry>
<title>ext3: Fix fs corruption when make_indexed_dir() fails</title>
<updated>2011-05-17T11:47:15Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2011-04-27T16:20:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=86c4f6d85595cd7da635dc6985d27bfa43b1ae10'/>
<id>urn:sha1:86c4f6d85595cd7da635dc6985d27bfa43b1ae10</id>
<content type='text'>
When make_indexed_dir() fails (e.g. because of ENOSPC) after it has allocated
block for index tree root, we did not properly mark all changed buffers dirty.
This lead to only some of these buffers being written out and thus effectively
corrupting the directory.

Fix the issue by marking all changed data dirty even in the error failure case.

CC: stable@kernel.org
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
</feed>
