<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/jbd2/checkpoint.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-28T03:44:47Z</updated>
<entry>
<title>Merge branch 'next' into upstream-merge</title>
<updated>2010-10-28T03:44:47Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a107e5a3a473a2ea62bd5af24e11b84adf1486ff'/>
<id>urn:sha1:a107e5a3a473a2ea62bd5af24e11b84adf1486ff</id>
<content type='text'>
Conflicts:
	fs/ext4/inode.c
	fs/ext4/mballoc.c
	include/trace/events/ext4.h
</content>
</entry>
<entry>
<title>jbd2: Add sanity check for attempts to start handle during umount</title>
<updated>2010-10-28T01:30:04Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-10-28T01:30:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c2178e785244341d1e6f2bc3b62f20a337cc44f'/>
<id>urn:sha1:5c2178e785244341d1e6f2bc3b62f20a337cc44f</id>
<content type='text'>
An attempt to modify the file system during the call to
jbd2_destroy_journal() can lead to a system lockup.  So add some
checking to make it much more obvious when this happens to and to
determine where the offending code is located.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>block: remove BLKDEV_IFL_WAIT</title>
<updated>2010-09-16T18:52:58Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-09-16T18:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd3932eddf428571762596e17b65f5dc92ca361b'/>
<id>urn:sha1:dd3932eddf428571762596e17b65f5dc92ca361b</id>
<content type='text'>
All the blkdev_issue_* helpers can only sanely be used for synchronous
caller.  To issue cache flushes or barriers asynchronously the caller needs
to set up a bio by itself with a completion callback to move the asynchronous
state machine ahead.  So drop the BLKDEV_IFL_WAIT flag that is always
specified when calling blkdev_issue_* and also remove the now unused flags
argument to blkdev_issue_flush and blkdev_issue_zeroout.  For
blkdev_issue_discard we need to keep it for the secure discard flag, which
gains a more descriptive name and loses the bitops vs flag confusion.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>remove SWRITE* I/O types</title>
<updated>2010-08-18T05:09:01Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-08-11T15:06:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9cb569d601e0b93e01c20a22872270ec663b75f6'/>
<id>urn:sha1:9cb569d601e0b93e01c20a22872270ec663b75f6</id>
<content type='text'>
These flags aren't real I/O types, but tell ll_rw_block to always
lock the buffer instead of giving up on a failed trylock.

Instead add a new write_dirty_buffer helper that implements this semantic
and use it from the existing SWRITE* callers.  Note that the ll_rw_block
code had a bug where it didn't promote WRITE_SYNC_PLUG properly, which
this patch fixes.

In the ufs code clean up the helper that used to call ll_rw_block
to mirror sync_dirty_buffer, which is the function it implements for
compound buffers.

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>jbd2: Change j_state_lock to be a rwlock_t</title>
<updated>2010-08-04T01:35:12Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-08-04T01:35:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a931da6ac9331a6c80dd91c199105806f2336188'/>
<id>urn:sha1:a931da6ac9331a6c80dd91c199105806f2336188</id>
<content type='text'>
Lockstat reports have shown that j_state_lock is a major source of
lock contention, especially on systems with more than 4 CPU cores.  So
change it to be a read/write spinlock.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop</title>
<updated>2010-08-02T12:43:25Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-08-02T12:43:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37'/>
<id>urn:sha1:a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37</id>
<content type='text'>
By using an atomic_t for t_updates and t_outstanding credits, this
should allow us to not need to take transaction t_handle_lock in
jbd2_journal_stop().

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>blkdev: generalize flags for blkdev_issue_fn functions</title>
<updated>2010-04-28T17:47:36Z</updated>
<author>
<name>Dmitry Monakhov</name>
</author>
<published>2010-04-28T13:55:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbd9b09a177a481eda256447c881f014f29034fe'/>
<id>urn:sha1:fbd9b09a177a481eda256447c881f014f29034fe</id>
<content type='text'>
The patch just convert all blkdev_issue_xxx function to common
set of flags. Wait/allocation semantics preserved.

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@openvz.org&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>ext4: Add new tracepoint for jbd2_cleanup_journal_tail</title>
<updated>2009-12-23T12:45:44Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-12-23T12:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=71f2be213a0009098819e5c04f75ff19f84f2122'/>
<id>urn:sha1:71f2be213a0009098819e5c04f75ff19f84f2122</id>
<content type='text'>
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4, jbd2: Add barriers for file systems with exernal journals</title>
<updated>2009-12-23T11:52:08Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-12-23T11:52:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc3e1bea5d87635c519da657303690f5538bb4eb'/>
<id>urn:sha1:cc3e1bea5d87635c519da657303690f5538bb4eb</id>
<content type='text'>
This is a bit complicated because we are trying to optimize when we
send barriers to the fs data disk.  We could just throw in an extra
barrier to the data disk whenever we send a barrier to the journal
disk, but that's not always strictly necessary.

We only need to send a barrier during a commit when there are data
blocks which are must be written out due to an inode written in
ordered mode, or if fsync() depends on the commit to force data blocks
to disk.  Finally, before we drop transactions from the beginning of
the journal during a checkpoint operation, we need to guarantee that
any blocks that were flushed out to the data disk are firmly on the
rust platter before we drop the transaction from the journal.

Thanks to Oleg Drokin for pointing out this flaw in ext3/ext4.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;

</content>
</entry>
<entry>
<title>jbd2: Use tracepoints for history file</title>
<updated>2009-09-30T04:32:06Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-09-30T04:32:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bf6993276f74d46776f35c45ddef29b981b1d1c6'/>
<id>urn:sha1:bf6993276f74d46776f35c45ddef29b981b1d1c6</id>
<content type='text'>
The /proc/fs/jbd2/&lt;dev&gt;/history was maintained manually; by using
tracepoints, we can get all of the existing functionality of the /proc
file plus extra capabilities thanks to the ftrace infrastructure.  We
save memory as a bonus.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
</feed>
