From: Jens Axboe <jens.axboe@oracle.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Ric Wheeler" <rwheeler@redhat.com>,
"Fernando Luis Vázquez Cao" <fernando@oss.ntt.co.jp>,
"Jeff Garzik" <jeff@garzik.org>,
"Christoph Hellwig" <hch@infradead.org>,
"Theodore Tso" <tytso@mit.edu>, "Ingo Molnar" <mingo@elte.hu>,
"Alan Cox" <alan@lxorguk.ukuu.org.uk>,
"Arjan van de Ven" <arjan@infradead.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
"Nick Piggin" <npiggin@suse.de>, "David Rees" <drees76@gmail.com>,
"Jesper Krogh" <jesper@krogh.cc>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
chris.mason@oracle.com, david@fromorbit.com, tj@kernel.org
Subject: Re: [PATCH 1/7] block: Add block_flush_device()
Date: Tue, 31 Mar 2009 19:03:19 +0200 [thread overview]
Message-ID: <20090331170319.GT5178@kernel.dk> (raw)
In-Reply-To: <20090331164312.GP5178@kernel.dk>
On Tue, Mar 31 2009, Jens Axboe wrote:
> On Tue, Mar 31 2009, Linus Torvalds wrote:
> >
> >
> > On Tue, 31 Mar 2009, Ric Wheeler wrote:
> > >
> > > The question is really what we do when you have a storage device in your box
> > > with a volatile write cache that does support flush or fua or similar.
> >
> > Ok. Then you are talking about a different case - not EOPNOTSUPP.
>
> So here's a test patch that attempts to just ignore such a failure to
> flush the caches. It will still flag the bio as BIO_EOPNOTSUPP, but
> that's merely maintaining the information in case the caller does want
> to see if that barrier failed or not. It may not actually be useful, in
> which case we can just kill that flag.
Updated version, the previous missed most of the buffer_eopnotsupp()
checking. So this one also gets rid of the file system retry logic.
Thanks to gfs2 Steve for pointing out that I missed gfs2, made me
realize that I missed a lot more as well.
block/blk-barrier.c | 8 ++------
block/blk-settings.c | 13 +++++++++++++
block/ioctl.c | 4 +---
fs/bio.c | 12 +++++++++++-
fs/btrfs/disk-io.c | 5 -----
fs/btrfs/extent_io.c | 9 ++-------
fs/buffer.c | 23 ++---------------------
fs/fat/misc.c | 5 +----
fs/gfs2/log.c | 18 ++++++------------
fs/jbd2/commit.c | 22 ----------------------
fs/reiserfs/journal.c | 15 ---------------
fs/xfs/linux-2.6/xfs_aops.c | 1 -
include/linux/blkdev.h | 2 ++
include/linux/buffer_head.h | 2 --
14 files changed, 40 insertions(+), 99 deletions(-)commit 74e725b7f2e5f3f073abe84c5823026a6f1e33ce
---
Author: Jens Axboe <jens.axboe@oracle.com>
Date: Tue Mar 31 19:00:53 2009 +0200
barrier: Don't return -EOPNOTSUPP to the caller if the device does not support barriers
The caller cannot really do much about the situation anyway. Instead log
a warning if this is the first such failed barrier we see, so that the
admin can look into whether this poses a data integrity problem or not.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/block/blk-barrier.c b/block/blk-barrier.c
index f7dae57..8660146 100644
--- a/block/blk-barrier.c
+++ b/block/blk-barrier.c
@@ -338,9 +338,7 @@ int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector)
*error_sector = bio->bi_sector;
ret = 0;
- if (bio_flagged(bio, BIO_EOPNOTSUPP))
- ret = -EOPNOTSUPP;
- else if (!bio_flagged(bio, BIO_UPTODATE))
+ if (!bio_flagged(bio, BIO_UPTODATE))
ret = -EIO;
bio_put(bio);
@@ -408,9 +406,7 @@ int blkdev_issue_discard(struct block_device *bdev,
submit_bio(DISCARD_BARRIER, bio);
/* Check if it failed immediately */
- if (bio_flagged(bio, BIO_EOPNOTSUPP))
- ret = -EOPNOTSUPP;
- else if (!bio_flagged(bio, BIO_UPTODATE))
+ if (!bio_flagged(bio, BIO_UPTODATE))
ret = -EIO;
bio_put(bio);
}
diff --git a/block/blk-settings.c b/block/blk-settings.c
index 59fd05d..0a81466 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -463,6 +463,19 @@ void blk_queue_update_dma_alignment(struct request_queue *q, int mask)
}
EXPORT_SYMBOL(blk_queue_update_dma_alignment);
+void blk_queue_set_noflush(struct block_device *bdev)
+{
+ struct request_queue *q = bdev_get_queue(bdev);
+ char b[BDEVNAME_SIZE];
+
+ if (test_and_set_bit(QUEUE_FLAG_NOFLUSH, &q->queue_flags))
+ return;
+
+ printk(KERN_ERR "Device %s does not appear to honor cache flushes. "
+ "This may mean that file system ordering guarantees "
+ "are not met.", bdevname(bdev, b));
+}
+
static int __init blk_settings_init(void)
{
blk_max_low_pfn = max_low_pfn - 1;
diff --git a/block/ioctl.c b/block/ioctl.c
index 0f22e62..769f7be 100644
--- a/block/ioctl.c
+++ b/block/ioctl.c
@@ -166,9 +166,7 @@ static int blk_ioctl_discard(struct block_device *bdev, uint64_t start,
wait_for_completion(&wait);
- if (bio_flagged(bio, BIO_EOPNOTSUPP))
- ret = -EOPNOTSUPP;
- else if (!bio_flagged(bio, BIO_UPTODATE))
+ if (!bio_flagged(bio, BIO_UPTODATE))
ret = -EIO;
bio_put(bio);
}
diff --git a/fs/bio.c b/fs/bio.c
index a040cde..79e3cec 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -1380,7 +1380,17 @@ void bio_check_pages_dirty(struct bio *bio)
**/
void bio_endio(struct bio *bio, int error)
{
- if (error)
+ /*
+ * Special case here - hide the -EOPNOTSUPP from the driver or
+ * block layer, dump a warning the first time this happens so that
+ * the admin knows that we may not provide the ordering guarantees
+ * that are needed. Don't clear the uptodate bit.
+ */
+ if (error == -EOPNOTSUPP && bio_barrier(bio)) {
+ set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
+ blk_queue_set_noflush(bio->bi_bdev);
+ error = 0;
+ } else if (error)
clear_bit(BIO_UPTODATE, &bio->bi_flags);
else if (!test_bit(BIO_UPTODATE, &bio->bi_flags))
error = -EIO;
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 6ec80c0..fd3ea97 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1951,11 +1951,6 @@ static void btrfs_end_buffer_write_sync(struct buffer_head *bh, int uptodate)
if (uptodate) {
set_buffer_uptodate(bh);
} else {
- if (!buffer_eopnotsupp(bh) && printk_ratelimit()) {
- printk(KERN_WARNING "lost page write due to "
- "I/O error on %s\n",
- bdevname(bh->b_bdev, b));
- }
/* note, we dont' set_buffer_write_io_error because we have
* our own ways of dealing with the IO errors
*/
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index ebe6b29..d696d26 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1834,7 +1834,6 @@ extent_bio_alloc(struct block_device *bdev, u64 first_sector, int nr_vecs,
static int submit_one_bio(int rw, struct bio *bio, int mirror_num,
unsigned long bio_flags)
{
- int ret = 0;
struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1;
struct page *page = bvec->bv_page;
struct extent_io_tree *tree = bio->bi_private;
@@ -1846,17 +1845,13 @@ static int submit_one_bio(int rw, struct bio *bio, int mirror_num,
bio->bi_private = NULL;
- bio_get(bio);
-
if (tree->ops && tree->ops->submit_bio_hook)
tree->ops->submit_bio_hook(page->mapping->host, rw, bio,
mirror_num, bio_flags);
else
submit_bio(rw, bio);
- if (bio_flagged(bio, BIO_EOPNOTSUPP))
- ret = -EOPNOTSUPP;
- bio_put(bio);
- return ret;
+
+ return 0;
}
static int submit_extent_page(int rw, struct extent_io_tree *tree,
diff --git a/fs/buffer.c b/fs/buffer.c
index a2fd743..6f50e08 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -147,17 +147,9 @@ void end_buffer_read_sync(struct buffer_head *bh, int uptodate)
void end_buffer_write_sync(struct buffer_head *bh, int uptodate)
{
- char b[BDEVNAME_SIZE];
-
if (uptodate) {
set_buffer_uptodate(bh);
} else {
- if (!buffer_eopnotsupp(bh) && !quiet_error(bh)) {
- buffer_io_error(bh);
- printk(KERN_WARNING "lost page write due to "
- "I/O error on %s\n",
- bdevname(bh->b_bdev, b));
- }
set_buffer_write_io_error(bh);
clear_buffer_uptodate(bh);
}
@@ -2828,7 +2820,7 @@ static void end_bio_bh_io_sync(struct bio *bio, int err)
if (err == -EOPNOTSUPP) {
set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
- set_bit(BH_Eopnotsupp, &bh->b_state);
+ err = 0;
}
if (unlikely (test_bit(BIO_QUIET,&bio->bi_flags)))
@@ -2841,7 +2833,6 @@ static void end_bio_bh_io_sync(struct bio *bio, int err)
int submit_bh(int rw, struct buffer_head * bh)
{
struct bio *bio;
- int ret = 0;
BUG_ON(!buffer_locked(bh));
BUG_ON(!buffer_mapped(bh));
@@ -2879,14 +2870,8 @@ int submit_bh(int rw, struct buffer_head * bh)
bio->bi_end_io = end_bio_bh_io_sync;
bio->bi_private = bh;
- bio_get(bio);
submit_bio(rw, bio);
-
- if (bio_flagged(bio, BIO_EOPNOTSUPP))
- ret = -EOPNOTSUPP;
-
- bio_put(bio);
- return ret;
+ return 0;
}
/**
@@ -2965,10 +2950,6 @@ int sync_dirty_buffer(struct buffer_head *bh)
bh->b_end_io = end_buffer_write_sync;
ret = submit_bh(WRITE, bh);
wait_on_buffer(bh);
- if (buffer_eopnotsupp(bh)) {
- clear_buffer_eopnotsupp(bh);
- ret = -EOPNOTSUPP;
- }
if (!ret && !buffer_uptodate(bh))
ret = -EIO;
} else {
diff --git a/fs/fat/misc.c b/fs/fat/misc.c
index ac39ebc..406da54 100644
--- a/fs/fat/misc.c
+++ b/fs/fat/misc.c
@@ -269,10 +269,7 @@ int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs)
ll_rw_block(SWRITE, nr_bhs, bhs);
for (i = 0; i < nr_bhs; i++) {
wait_on_buffer(bhs[i]);
- if (buffer_eopnotsupp(bhs[i])) {
- clear_buffer_eopnotsupp(bhs[i]);
- err = -EOPNOTSUPP;
- } else if (!err && !buffer_uptodate(bhs[i]))
+ if (!err && !buffer_uptodate(bhs[i]))
err = -EIO;
}
return err;
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 98918a7..78c3d59 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -578,6 +578,7 @@ static void log_write_header(struct gfs2_sbd *sdp, u32 flags, int pull)
struct gfs2_log_header *lh;
unsigned int tail;
u32 hash;
+ int rw;
bh = sb_getblk(sdp->sd_vfs, blkno);
lock_buffer(bh);
@@ -602,20 +603,13 @@ static void log_write_header(struct gfs2_sbd *sdp, u32 flags, int pull)
bh->b_end_io = end_buffer_write_sync;
if (test_bit(SDF_NOBARRIERS, &sdp->sd_flags))
- goto skip_barrier;
+ rw = WRITE;
+ else
+ rw = WRITE_BARRIER;
+
get_bh(bh);
- submit_bh(WRITE_BARRIER | (1 << BIO_RW_META), bh);
+ submit_bh(rw | (1 << BIO_RW_META), bh);
wait_on_buffer(bh);
- if (buffer_eopnotsupp(bh)) {
- clear_buffer_eopnotsupp(bh);
- set_buffer_uptodate(bh);
- set_bit(SDF_NOBARRIERS, &sdp->sd_flags);
- lock_buffer(bh);
-skip_barrier:
- get_bh(bh);
- submit_bh(WRITE_SYNC | (1 << BIO_RW_META), bh);
- wait_on_buffer(bh);
- }
if (!buffer_uptodate(bh))
gfs2_io_error_bh(sdp, bh);
brelse(bh);
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 62804e5..c1de70c 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -174,30 +174,8 @@ static int journal_wait_on_commit_record(journal_t *journal,
{
int ret = 0;
-retry:
clear_buffer_dirty(bh);
wait_on_buffer(bh);
- if (buffer_eopnotsupp(bh) && (journal->j_flags & JBD2_BARRIER)) {
- printk(KERN_WARNING
- "JBD2: wait_on_commit_record: sync failed on %s - "
- "disabling barriers\n", journal->j_devname);
- spin_lock(&journal->j_state_lock);
- journal->j_flags &= ~JBD2_BARRIER;
- spin_unlock(&journal->j_state_lock);
-
- lock_buffer(bh);
- clear_buffer_dirty(bh);
- set_buffer_uptodate(bh);
- bh->b_end_io = journal_end_buffer_io_sync;
-
- ret = submit_bh(WRITE_SYNC, bh);
- if (ret) {
- unlock_buffer(bh);
- return ret;
- }
- goto retry;
- }
-
if (unlikely(!buffer_uptodate(bh)))
ret = -EIO;
put_bh(bh); /* One for getblk() */
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index 77f5bb7..5eefa6c 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -700,18 +700,6 @@ static int submit_barrier_buffer(struct buffer_head *bh)
return submit_bh(WRITE_BARRIER, bh);
}
-static void check_barrier_completion(struct super_block *s,
- struct buffer_head *bh)
-{
- if (buffer_eopnotsupp(bh)) {
- clear_buffer_eopnotsupp(bh);
- disable_barrier(s);
- set_buffer_uptodate(bh);
- set_buffer_dirty(bh);
- sync_dirty_buffer(bh);
- }
-}
-
#define CHUNK_SIZE 32
struct buffer_chunk {
struct buffer_head *bh[CHUNK_SIZE];
@@ -1148,8 +1136,6 @@ static int flush_commit_list(struct super_block *s,
} else
wait_on_buffer(jl->j_commit_bh);
- check_barrier_completion(s, jl->j_commit_bh);
-
/* If there was a write error in the journal - we can't commit this
* transaction - it will be invalid and, if successful, will just end
* up propagating the write error out to the filesystem. */
@@ -1313,7 +1299,6 @@ static int _update_journal_header_block(struct super_block *sb,
goto sync;
}
wait_on_buffer(journal->j_header_bh);
- check_barrier_completion(sb, journal->j_header_bh);
} else {
sync:
set_buffer_dirty(journal->j_header_bh);
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index de3a198..c0cacb2 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -406,7 +406,6 @@ xfs_submit_ioend_bio(
bio->bi_end_io = xfs_end_bio;
submit_bio(WRITE, bio);
- ASSERT(!bio_flagged(bio, BIO_EOPNOTSUPP));
bio_put(bio);
}
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 465d6ba..ea2e15a 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -452,6 +452,7 @@ struct request_queue
#define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */
#define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */
#define QUEUE_FLAG_IO_STAT 15 /* do IO stats */
+#define QUEUE_FLAG_NOFLUSH 16 /* device doesn't do flushes */
#define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \
(1 << QUEUE_FLAG_CLUSTER) | \
@@ -789,6 +790,7 @@ extern int blk_execute_rq(struct request_queue *, struct gendisk *,
extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *,
struct request *, int, rq_end_io_fn *);
extern void blk_unplug(struct request_queue *q);
+extern void blk_queue_set_noflush(struct block_device *bdev);
static inline struct request_queue *bdev_get_queue(struct block_device *bdev)
{
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index f19fd90..8adcaa4 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -33,7 +33,6 @@ enum bh_state_bits {
BH_Boundary, /* Block is followed by a discontiguity */
BH_Write_EIO, /* I/O error on write */
BH_Ordered, /* ordered write */
- BH_Eopnotsupp, /* operation not supported (barrier) */
BH_Unwritten, /* Buffer is allocated on disk but not written */
BH_Quiet, /* Buffer Error Prinks to be quiet */
@@ -126,7 +125,6 @@ BUFFER_FNS(Delay, delay)
BUFFER_FNS(Boundary, boundary)
BUFFER_FNS(Write_EIO, write_io_error)
BUFFER_FNS(Ordered, ordered)
-BUFFER_FNS(Eopnotsupp, eopnotsupp)
BUFFER_FNS(Unwritten, unwritten)
#define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK)
--
Jens Axboe
next prev parent reply other threads:[~2009-03-31 17:03 UTC|newest]
Thread overview: 653+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-23 23:29 Linux 2.6.29 Linus Torvalds
2009-03-24 6:19 ` Jesper Krogh
2009-03-24 6:46 ` David Rees
2009-03-24 7:32 ` Jesper Krogh
2009-03-24 8:16 ` Ingo Molnar
2009-03-24 11:10 ` Jesper Krogh
2009-03-24 19:00 ` David Rees
2009-03-25 17:42 ` Jesper Krogh
2009-03-25 18:16 ` David Rees
2009-03-25 18:46 ` Jesper Krogh
2009-03-25 18:30 ` Theodore Tso
2009-03-25 18:40 ` Linus Torvalds
2009-03-25 22:05 ` Theodore Tso
2009-03-25 23:23 ` Linus Torvalds
2009-03-25 23:46 ` Bron Gondwana
2009-03-26 0:32 ` Ric Wheeler
2009-03-27 0:11 ` Andrew Morton
2009-03-27 0:27 ` Linus Torvalds
2009-03-27 0:47 ` Andrew Morton
2009-03-27 1:03 ` Linus Torvalds
2009-03-27 1:25 ` Andrew Morton
2009-03-27 2:21 ` David Rees
2009-03-27 3:03 ` Matthew Garrett
2009-03-27 3:36 ` Dave Jones
2009-03-27 3:01 ` Matthew Garrett
2009-03-27 3:38 ` Linus Torvalds
2009-03-27 3:59 ` Linus Torvalds
2009-03-28 23:52 ` david
2009-03-28 5:06 ` Ingo Molnar
2009-04-01 21:03 ` Lennart Sorensen
2009-04-01 21:36 ` Andrew Morton
2009-04-01 22:57 ` Lennart Sorensen
2009-04-03 14:46 ` Mark Lord
2009-04-03 15:16 ` Lennart Sorensen
2009-04-03 15:42 ` Mark Lord
2009-04-03 18:59 ` Jeff Garzik
2009-04-04 8:18 ` Andrew Morton
2009-04-04 12:40 ` Mark Lord
2009-04-05 1:57 ` David Newall
2009-04-05 3:46 ` Mark Lord
2009-04-02 1:00 ` Ingo Molnar
2009-04-03 4:06 ` Lennart Sorensen
2009-04-03 4:13 ` Linus Torvalds
2009-04-03 7:25 ` Jens Axboe
2009-04-03 8:15 ` Ingo Molnar
2009-04-06 21:46 ` Bill Davidsen
2009-04-03 14:21 ` Lennart Sorensen
2009-04-03 15:05 ` Mark Lord
2009-04-03 15:14 ` Lennart Sorensen
2009-04-03 19:57 ` Jeff Garzik
2009-04-03 21:28 ` Janne Grunau
2009-04-03 21:57 ` Jeff Garzik
2009-04-03 22:32 ` Janne Grunau
2009-04-03 22:57 ` David Rees
2009-04-03 23:29 ` Jeff Garzik
2009-04-03 23:52 ` Linus Torvalds
2009-04-03 22:53 ` David Rees
2009-04-03 23:30 ` Jeff Garzik
2009-04-04 16:29 ` Janne Grunau
2009-04-04 23:02 ` Jeff Garzik
2009-04-05 14:20 ` Janne Grunau
2009-04-06 14:06 ` Lennart Sorensen
2009-04-03 22:28 ` Jeff Moyer
2009-04-06 14:15 ` Lennart Sorensen
2009-04-06 21:27 ` Mark Lord
2009-04-06 21:56 ` Lennart Sorensen
2009-04-02 11:05 ` Janne Grunau
2009-04-02 16:09 ` Andrew Morton
2009-04-02 16:33 ` David Rees
2009-04-02 16:46 ` Linus Torvalds
2009-04-02 16:51 ` Andrew Morton
2009-04-02 22:13 ` Jeff Garzik
2009-04-02 21:56 ` Jeff Garzik
2009-04-02 16:29 ` David Rees
2009-04-02 16:42 ` Andrew Morton
2009-04-02 16:57 ` Linus Torvalds
2009-04-02 17:04 ` Linus Torvalds
2009-04-02 22:09 ` Jeff Garzik
2009-04-02 22:42 ` Linus Torvalds
2009-04-02 22:51 ` Andrew Morton
2009-04-02 23:00 ` Linus Torvalds
2009-04-03 2:01 ` Jeff Garzik
2009-04-03 2:16 ` Linus Torvalds
2009-04-03 3:05 ` Jeff Garzik
2009-04-03 3:34 ` Linus Torvalds
2009-04-03 11:32 ` Chris Mason
2009-04-03 15:07 ` Linus Torvalds
2009-04-03 15:40 ` Chris Mason
2009-04-03 20:05 ` Jeff Garzik
2009-04-03 20:14 ` Linus Torvalds
2009-04-03 21:48 ` Jeff Garzik
2009-04-03 22:06 ` Linus Torvalds
2009-04-03 23:48 ` Jeff Garzik
2009-04-04 12:46 ` Mark Lord
2009-04-04 12:52 ` Huang Yuntao
2009-04-03 23:35 ` Dave Jones
2009-04-04 12:44 ` Mark Lord
2009-04-04 21:10 ` Jeff Garzik
2009-04-03 5:05 ` Nick Piggin
2009-04-03 8:31 ` Jeff Garzik
2009-04-03 8:35 ` Jeff Garzik
2009-04-03 2:38 ` Trenton D. Adams
2009-04-03 2:54 ` Jeff Garzik
2009-04-03 15:14 ` Mark Lord
2009-04-03 15:18 ` Lennart Sorensen
2009-04-03 15:46 ` Mark Lord
2009-04-03 15:28 ` Linus Torvalds
2009-04-02 18:52 ` David Rees
2009-04-02 21:42 ` Theodore Tso
2009-04-02 21:50 ` Lennart Sorensen
2009-04-03 15:07 ` Mark Lord
2009-04-02 12:17 ` Theodore Tso
2009-04-02 21:54 ` Lennart Sorensen
2009-04-02 23:27 ` Theodore Tso
2009-04-03 0:32 ` Lennart Sorensen
2009-03-27 3:23 ` Theodore Tso
2009-03-27 3:47 ` Matthew Garrett
2009-03-27 5:13 ` Theodore Tso
2009-03-27 5:57 ` Matthew Garrett
2009-03-27 6:21 ` Matthew Garrett
2009-03-27 11:24 ` Theodore Tso
2009-03-27 12:17 ` Linux 2.6.29 - delayed metadata for delayed allocation? Andreas T.Auer
2009-03-27 14:51 ` Linux 2.6.29 Matthew Garrett
2009-03-27 15:08 ` Alan Cox
2009-03-27 15:22 ` Matthew Garrett
2009-03-27 16:15 ` Alan Cox
2009-03-27 16:28 ` Matthew Garrett
2009-03-27 16:51 ` Alan Cox
2009-03-27 17:02 ` Matthew Garrett
2009-03-27 17:19 ` Alan Cox
2009-03-27 18:05 ` Linus Torvalds
2009-03-27 18:35 ` Alan Cox
2009-03-27 19:03 ` Theodore Tso
2009-03-27 19:14 ` Alan Cox
2009-03-27 19:32 ` Theodore Tso
2009-03-27 20:11 ` Andreas T.Auer
2009-03-27 22:01 ` Linus Torvalds
2009-03-31 9:58 ` Neil Brown
2009-03-27 19:19 ` Gene Heskett
2009-03-27 19:48 ` Theodore Tso
2009-03-27 20:02 ` Aaron Cohen
[not found] ` <727e50150903271301l36cff340l33e813bf6f77b4b@mail.gmail.com>
2009-03-27 20:04 ` Theodore Tso
2009-03-27 22:37 ` Gene Heskett
2009-03-27 22:55 ` Theodore Tso
2009-03-28 0:42 ` Gene Heskett
2009-03-27 18:36 ` Hua Zhong
2009-03-27 17:57 ` Linus Torvalds
2009-03-27 18:22 ` Linus Torvalds
2009-03-27 18:32 ` Alan Cox
2009-03-27 18:40 ` Linus Torvalds
2009-03-27 19:00 ` Alan Cox
2009-03-29 9:15 ` Xavier Bestel
2009-03-29 20:16 ` Alan Cox
2009-03-29 21:07 ` Linus Torvalds
2009-03-30 19:37 ` Jeremy Fitzhardinge
2009-03-27 20:27 ` Felipe Contreras
2009-03-27 19:43 ` Jeff Garzik
2009-03-27 20:01 ` Theodore Tso
2009-03-27 22:20 ` Jeff Garzik
2009-03-27 21:46 ` Linus Torvalds
2009-03-27 22:06 ` Jeff Garzik
2009-03-27 22:19 ` Linus Torvalds
2009-03-27 22:25 ` Linus Torvalds
2009-03-28 1:19 ` Jeff Garzik
2009-03-28 1:30 ` David Miller
2009-03-28 2:19 ` Mark Lord
2009-03-28 2:49 ` Jeff Garzik
2009-03-28 13:29 ` Stefan Richter
2009-03-28 14:17 ` Jeff Garzik
2009-03-28 14:35 ` Stefan Richter
2009-03-28 15:17 ` Mark Lord
2009-03-28 16:08 ` Stefan Richter
2009-03-28 16:32 ` Linus Torvalds
2009-03-28 17:22 ` David Hagood
2009-03-29 1:18 ` Jeff Garzik
2009-03-31 18:45 ` Jörn Engel
2009-03-29 23:14 ` Dave Chinner
2009-03-30 0:39 ` Theodore Tso
2009-03-30 1:29 ` Trenton Adams
2009-03-30 3:28 ` Theodore Tso
2009-03-30 3:55 ` Trenton D. Adams
2009-03-30 13:45 ` Theodore Tso
2009-03-30 6:31 ` Dave Chinner
2009-03-30 13:55 ` Theodore Tso
2009-03-30 7:13 ` Andreas T.Auer
2009-03-30 9:05 ` Alan Cox
2009-03-30 10:49 ` Andreas T.Auer
2009-03-30 11:12 ` Alan Cox
2009-03-30 11:17 ` Ric Wheeler
2009-03-30 13:48 ` Mark Lord
2009-03-30 14:00 ` Ric Wheeler
2009-03-30 14:44 ` Mark Lord
2009-03-30 14:58 ` Ric Wheeler
2009-03-30 15:21 ` Mark Lord
2009-03-30 15:27 ` Ric Wheeler
2009-03-30 16:13 ` Linus Torvalds
2009-03-30 16:30 ` Mark Lord
2009-03-30 16:58 ` Linus Torvalds
2009-03-30 17:29 ` Mark Lord
2009-03-30 17:57 ` Chris Mason
2009-03-30 18:39 ` Mark Lord
2009-03-30 18:52 ` Chris Mason
2009-03-30 20:19 ` Mark Lord
2009-03-30 18:54 ` Pasi Kärkkäinen
2009-03-30 15:00 ` Jeff Garzik
2009-03-30 15:34 ` Linus Torvalds
2009-03-30 16:11 ` Ric Wheeler
2009-03-30 16:34 ` Linus Torvalds
2009-03-30 17:11 ` Ric Wheeler
2009-03-30 17:39 ` Mark Lord
2009-03-30 17:51 ` Linus Torvalds
2009-03-30 18:15 ` Ric Wheeler
2009-03-30 19:08 ` Eric Sandeen
2009-03-30 19:22 ` Rik van Riel
2009-03-30 19:41 ` Jeff Garzik
2009-03-30 20:21 ` Michael Tokarev
2009-03-30 20:26 ` Mark Lord
2009-03-30 20:29 ` Mark Lord
2009-03-30 20:35 ` Jeff Garzik
2009-03-30 20:40 ` Mark Lord
2009-03-30 20:34 ` Jeff Garzik
2009-03-30 20:05 ` Linus Torvalds
2009-03-31 9:27 ` Neil Brown
2009-03-31 21:13 ` Alan Cox
2009-03-31 21:10 ` Alan Cox
2009-03-31 21:55 ` Linus Torvalds
2009-03-30 19:02 ` Bill Davidsen
2009-04-01 1:19 ` david
2009-04-01 16:24 ` Bill Davidsen
2009-04-01 20:15 ` david
2009-04-01 21:33 ` Andreas T.Auer
2009-04-01 22:29 ` david
2009-04-02 2:30 ` Bron Gondwana
2009-04-02 4:55 ` david
2009-04-02 5:29 ` Bron Gondwana
2009-04-02 9:58 ` Andreas T.Auer
2009-04-02 12:30 ` Bill Davidsen
2009-04-01 22:00 ` Harald Arnesen
2009-04-01 22:09 ` Alejandro Riveira Fernández
2009-04-01 22:28 ` david
2009-03-30 3:01 ` Mark Lord
2009-03-30 6:41 ` Andreas T.Auer
2009-03-30 12:55 ` Chris Mason
2009-03-30 17:42 ` Theodore Tso
2009-03-31 23:55 ` Dave Chinner
2009-04-01 12:53 ` Chris Mason
2009-04-01 15:41 ` Andreas T.Auer
2009-04-01 16:02 ` Chris Mason
2009-04-01 18:37 ` Andreas T.Auer
2009-04-01 21:50 ` Theodore Tso
2009-04-01 23:44 ` Matthew Garrett
2009-03-28 16:25 ` Alex Goebel
2009-03-28 21:12 ` Hua Zhong
2009-03-29 8:22 ` Stefan Richter
2009-03-29 0:33 ` david
2009-03-29 1:24 ` Jeff Garzik
2009-03-29 3:43 ` Theodore Tso
2009-03-29 4:53 ` Jeff Garzik
2009-03-31 15:01 ` Thierry Vignaud
2009-03-28 0:18 ` Jeff Garzik
2009-03-28 1:45 ` Linus Torvalds
2009-03-28 2:53 ` Jeff Garzik
2009-03-28 2:56 ` Zid Null
2009-03-28 3:55 ` Gene Heskett
2009-03-28 11:29 ` Alejandro Riveira Fernández
2009-03-28 2:16 ` Mark Lord
2009-03-28 2:38 ` Linus Torvalds
2009-03-28 11:57 ` Andreas T.Auer
2009-03-27 15:20 ` Giacomo A. Catenazzi
2009-03-27 21:11 ` Jeremy Fitzhardinge
2009-03-28 7:45 ` Bojan Smojver
2009-03-28 8:43 ` Bojan Smojver
2009-03-28 21:55 ` Bojan Smojver
2009-03-31 21:51 ` Jeremy Fitzhardinge
2009-03-31 22:30 ` Bojan Smojver
2009-04-01 5:26 ` Bojan Smojver
2009-04-01 6:35 ` Jeremy Fitzhardinge
2009-04-03 12:39 ` Pavel Machek
2009-03-27 0:51 ` Linus Torvalds
2009-03-27 1:03 ` Andrew Morton
2009-03-27 9:58 ` Alan Cox
2009-03-26 2:50 ` Neil Brown
2009-03-26 3:13 ` Theodore Tso
2009-03-24 9:15 ` Alan Cox
2009-03-24 9:32 ` Ingo Molnar
2009-03-24 10:10 ` Alan Cox
2009-03-24 10:31 ` Ingo Molnar
2009-03-24 11:12 ` Andrew Morton
2009-03-24 12:23 ` Alan Cox
2009-03-24 13:37 ` Theodore Tso
2009-03-25 12:37 ` Jan Kara
2009-03-25 15:00 ` Theodore Tso
2009-03-25 17:29 ` Linus Torvalds
2009-03-25 17:57 ` Alan Cox
2009-03-25 18:09 ` David Rees
2009-03-25 18:21 ` Linus Torvalds
2009-03-25 18:26 ` Linus Torvalds
2009-03-25 18:48 ` Ric Wheeler
2009-03-25 18:49 ` Alan Cox
2009-03-25 18:55 ` Ric Wheeler
2009-03-25 18:58 ` Theodore Tso
2009-03-25 19:48 ` Christoph Hellwig
2009-03-25 21:50 ` Theodore Tso
2009-03-26 2:10 ` Matthew Garrett
2009-03-26 2:36 ` Jeff Garzik
2009-03-26 2:42 ` Matthew Garrett
[not found] ` <f73f7ab80903251944s581166bbk31c26db50750814a@mail.gmail.com>
2009-03-26 2:46 ` Kyle Moffett
2009-03-26 2:51 ` Jeff Garzik
2009-03-26 3:03 ` Kyle Moffett
2009-03-26 3:40 ` Linus Torvalds
2009-03-26 3:57 ` David Miller
2009-03-26 4:58 ` Kyle Moffett
2009-03-26 6:24 ` Jeff Garzik
2009-03-26 12:49 ` Kyle Moffett
2009-03-26 2:47 ` Matthew Garrett
2009-03-26 2:54 ` Kyle Moffett
2009-03-25 20:45 ` Linus Torvalds
2009-03-25 21:51 ` Theodore Tso
2009-03-25 23:21 ` Linus Torvalds
2009-03-25 23:50 ` Jan Kara
2009-03-26 0:04 ` Linus Torvalds
2009-03-26 9:06 ` ext3 IO latency measurements (was: Linux 2.6.29) Ingo Molnar
2009-03-26 9:09 ` Ingo Molnar
2009-03-26 11:08 ` Jens Axboe
2009-03-26 14:27 ` Arjan van de Ven
2009-03-26 14:36 ` Jens Axboe
2009-03-26 14:49 ` Arjan van de Ven
2009-03-26 11:37 ` Theodore Tso
2009-03-26 12:44 ` Ingo Molnar
2009-03-26 12:46 ` Ingo Molnar
2009-03-26 14:03 ` Ingo Molnar
2009-03-26 14:13 ` Ingo Molnar
2009-03-26 14:30 ` Andrew Morton
2009-03-26 15:32 ` relatime: update once per day patches (was: ext3 IO latency measurements) Frans Pop
2009-03-26 15:47 ` Andrew Morton
2009-03-26 16:14 ` Linus Torvalds
2009-03-26 16:24 ` Andrew Morton
2009-03-26 17:12 ` Frans Pop
2009-03-26 17:48 ` Andrew Morton
2009-03-26 18:49 ` Matthew Garrett
2009-03-26 19:20 ` Andrew Morton
2009-03-26 19:43 ` Matthew Garrett
2009-03-27 11:25 ` David Hagood
2009-03-26 16:30 ` Theodore Tso
2009-03-26 16:40 ` Jose Celestino
2009-03-26 17:14 ` Frans Pop
2009-03-26 16:53 ` Frans Pop
2009-03-26 16:53 ` Linus Torvalds
2009-03-26 17:32 ` [PATCH] Allow relatime to update atime once a day Matthew Garrett
2009-03-26 17:56 ` Alexey Dobriyan
2009-03-26 18:55 ` Alan Cox
2009-03-26 14:47 ` ext3 IO latency measurements (was: Linux 2.6.29) Theodore Tso
2009-03-26 16:20 ` Linus Torvalds
2009-03-26 17:06 ` Andreas Schwab
2009-03-26 17:07 ` Theodore Tso
2009-03-26 17:16 ` Linus Torvalds
2009-03-26 17:49 ` [PATCH 1/2] Add a strictatime mount option Matthew Garrett
2009-03-26 17:53 ` [PATCH 2/2] Make relatime default Matthew Garrett
2009-03-26 18:48 ` Alan Cox
2009-03-26 22:27 ` Linus Torvalds
2009-03-27 0:15 ` Frans Pop
2009-03-27 0:30 ` Linus Torvalds
2009-03-27 14:06 ` Alan Cox
2009-03-27 2:05 ` Frans Pop
2009-04-09 20:13 ` Pavel Machek
2009-04-09 20:47 ` Linus Torvalds
2009-04-09 21:15 ` Pavel Machek
2009-04-09 21:20 ` Linus Torvalds
2009-04-09 22:00 ` Pavel Machek
2009-03-30 14:42 ` Andrea Arcangeli
2009-03-30 14:52 ` Xavier Bestel
2009-03-30 19:26 ` Bill Davidsen
2009-03-26 18:52 ` [PATCH 1/2] Add a strictatime mount option Alan Cox
2009-03-26 18:59 ` ext3 IO latency measurements (was: Linux 2.6.29) Alan Cox
2009-03-26 20:02 ` Matthew Garrett
2009-03-26 20:42 ` Alan Cox
2009-03-26 20:55 ` Matthew Garrett
2009-03-26 20:58 ` Alan Cox
2009-03-26 23:04 ` Bron Gondwana
2009-03-27 11:22 ` Alan Cox
2009-03-27 12:19 ` Bron Gondwana
2009-03-27 13:56 ` Alan Cox
2009-03-27 12:00 ` ext3 IO latency measurements Giacomo A. Catenazzi
2009-03-26 17:29 ` ext3 IO latency measurements (was: Linux 2.6.29) Frans Pop
2009-03-26 17:32 ` Bill Nottingham
2009-03-26 17:41 ` Linus Torvalds
2009-03-26 18:23 ` Bill Nottingham
2009-03-26 22:24 ` Linus Torvalds
2009-03-27 13:47 ` Bill Nottingham
2009-03-26 18:54 ` Alan Cox
2009-03-26 15:28 ` Theodore Tso
2009-03-26 23:02 ` Ingo Molnar
2009-03-26 23:59 ` Theodore Tso
2009-03-27 0:08 ` Ingo Molnar
2009-03-27 0:40 ` Jesse Barnes
2009-03-31 11:51 ` Neil Brown
2009-03-26 12:22 ` Pekka Enberg
2009-03-26 12:23 ` Pekka Enberg
2009-03-26 14:38 ` Andrew Morton
2009-03-26 18:11 ` Jan Kara
2009-03-26 18:35 ` Andrew Morton
2009-03-27 21:26 ` Jan Kara
2009-03-26 22:39 ` Linus Torvalds
2009-03-26 22:57 ` Andrew Morton
2009-03-27 21:38 ` Jan Kara
2009-03-27 22:10 ` Linus Torvalds
2009-03-28 19:43 ` Andrew Morton
2009-04-09 21:59 ` updated: ext3 IO latency measurements on v2.6.30-rc1 Ingo Molnar
2009-04-10 7:34 ` Heinz Diehl
2009-05-18 16:37 ` Sanjoy Mahajan
2009-03-25 23:57 ` Linux 2.6.29 Linus Torvalds
2009-03-26 0:22 ` Jan Kara
2009-03-26 1:34 ` Linus Torvalds
2009-03-26 2:59 ` Theodore Tso
2009-03-26 16:24 ` Jan Kara
2009-03-24 13:20 ` Theodore Tso
2009-03-24 13:30 ` Ingo Molnar
2009-03-24 13:51 ` Theodore Tso
2009-03-24 16:34 ` Jesper Krogh
2009-03-24 17:32 ` Linus Torvalds
2009-03-24 18:20 ` Mark Lord
2009-03-24 18:41 ` Eric Sandeen
2009-03-24 13:52 ` Alan Cox
2009-03-24 14:28 ` Theodore Tso
2009-03-24 15:18 ` Alan Cox
2009-03-24 17:55 ` Jan Kara
2009-03-24 17:55 ` Linus Torvalds
2009-03-24 18:41 ` Kyle Moffett
2009-03-24 19:17 ` Linus Torvalds
2009-03-24 18:45 ` Theodore Tso
2009-03-24 19:21 ` Linus Torvalds
2009-03-24 19:40 ` Ric Wheeler
2009-03-24 19:55 ` Jeff Garzik
2009-03-25 9:34 ` Benny Halevy
2009-03-25 9:39 ` Jens Axboe
2009-03-25 19:32 ` Jeff Garzik
2009-03-25 19:43 ` Christoph Hellwig
2009-03-25 19:43 ` Jens Axboe
2009-03-25 19:49 ` Ric Wheeler
2009-03-25 19:57 ` Jens Axboe
2009-03-25 20:41 ` Hugh Dickins
2009-03-26 8:57 ` Jens Axboe
2009-03-26 14:47 ` Hugh Dickins
2009-03-26 15:46 ` Jens Axboe
2009-03-26 18:21 ` Hugh Dickins
2009-03-26 18:32 ` Jens Axboe
2009-03-26 19:00 ` Hugh Dickins
2009-03-26 19:03 ` Jens Axboe
2009-03-25 20:16 ` Jeff Garzik
2009-03-25 20:25 ` Ric Wheeler
2009-03-25 21:22 ` James Bottomley
2009-03-26 8:59 ` Jens Axboe
2009-03-30 19:05 ` range-based cache flushing (was Re: Linux 2.6.29) Jeff Garzik
2009-04-01 0:14 ` James Bottomley
2009-04-01 1:28 ` Jeff Garzik
2009-04-01 21:20 ` James Bottomley
2009-03-25 21:27 ` Linux 2.6.29 Benny Halevy
2009-03-25 20:25 ` Jeff Garzik
2009-03-25 20:40 ` Linus Torvalds
2009-03-25 20:57 ` Ric Wheeler
2009-03-25 23:02 ` Linus Torvalds
2009-03-26 0:28 ` Ric Wheeler
2009-03-26 1:36 ` Linus Torvalds
2009-03-25 21:29 ` [PATCH] issue storage device flush via sync_blockdev() (was Re: Linux 2.6.29) Jeff Garzik
2009-03-25 21:56 ` Eric Sandeen
2009-03-25 23:08 ` Jeff Garzik
2009-03-26 2:31 ` Eric Sandeen
2009-03-26 14:19 ` Ric Wheeler
2009-03-26 0:58 ` Ric Wheeler
2009-03-26 1:26 ` Jeff Garzik
2009-03-26 1:33 ` Jeff Garzik
2009-03-26 1:39 ` Ric Wheeler
2009-03-26 8:24 ` Christoph Hellwig
2009-03-27 7:59 ` Jens Axboe
2009-03-25 22:01 ` Alan Cox
2009-03-25 23:12 ` Jeff Garzik
2009-03-26 3:24 ` [PATCH v2] issue storage device flush via sync_blockdev() Jeff Garzik
2009-03-27 2:50 ` Theodore Tso
2009-03-27 3:17 ` Jeff Garzik
2009-03-27 3:30 ` Theodore Tso
2009-03-27 20:50 ` [PATCH] issue storage dev flush from generic file_fsync helper Jeff Garzik
2009-03-29 8:25 ` Christoph Hellwig
2009-03-30 1:25 ` Fernando Luis Vázquez Cao
2009-03-30 1:36 ` [PATCH 1/5] block: Add block_flush_device() Fernando Luis Vázquez Cao
2009-03-30 1:40 ` [PATCH 2/5] ext3: call blkdev_issue_flush on fsync() Fernando Luis Vázquez Cao
2009-03-30 1:51 ` Jeff Garzik
2009-03-30 2:50 ` Fernando Luis Vázquez Cao
2009-03-30 12:04 ` Fernando Luis Vázquez Cao
2009-03-30 12:09 ` [PATCH 1/7] block: Add block_flush_device() Fernando Luis Vázquez Cao
2009-03-30 15:07 ` Bartlomiej Zolnierkiewicz
2009-03-31 6:09 ` Fernando Luis Vázquez Cao
2009-03-30 17:34 ` Linus Torvalds
2009-03-30 17:50 ` Jeff Garzik
2009-03-30 17:55 ` Jens Axboe
2009-03-30 18:27 ` Linus Torvalds
2009-03-30 18:54 ` Jens Axboe
2009-03-30 19:16 ` Jeff Garzik
2009-03-30 19:24 ` Chris Mason
2009-03-30 20:09 ` Andi Kleen
2009-03-30 20:15 ` Chris Mason
2009-03-30 19:59 ` Linus Torvalds
2009-03-30 20:31 ` Jeff Garzik
2009-03-30 19:45 ` Linus Torvalds
2009-03-30 20:17 ` Jens Axboe
2009-03-30 20:36 ` Linus Torvalds
2009-03-31 2:14 ` Ric Wheeler
2009-03-31 2:47 ` Linus Torvalds
2009-03-31 6:04 ` Jens Axboe
2009-03-31 11:15 ` Ric Wheeler
2009-03-31 14:55 ` Linus Torvalds
2009-03-31 15:22 ` Chris Mason
2009-03-31 15:41 ` Ric Wheeler
2009-03-31 16:15 ` Linus Torvalds
2009-03-31 16:43 ` Jens Axboe
2009-03-31 16:57 ` Linus Torvalds
2009-03-31 17:19 ` Jens Axboe
2009-04-01 0:54 ` Tejun Heo
2009-03-31 17:03 ` Jens Axboe [this message]
2009-04-01 0:43 ` Tejun Heo
2009-03-31 17:14 ` Ric Wheeler
2009-03-31 19:25 ` Mark Lord
2009-03-31 15:54 ` Linus Torvalds
2009-03-31 16:29 ` Alan Cox
2009-03-31 6:01 ` Jens Axboe
2009-03-30 20:52 ` Mark Lord
2009-03-30 20:57 ` Jeff Garzik
2009-03-31 13:16 ` Chris Mason
2009-03-31 13:23 ` Mark Lord
2009-03-31 13:28 ` Chris Mason
2009-03-31 15:49 ` Eric Sandeen
2009-03-31 16:37 ` Mark Lord
2009-03-30 12:11 ` [PATCH 2/7] ext3: call blkdev_issue_flush() on fsync() Fernando Luis Vázquez Cao
2009-03-30 14:04 ` Theodore Tso
2009-03-30 14:15 ` Chris Mason
2009-03-30 14:33 ` Theodore Tso
2009-03-31 1:26 ` Tejun Heo
2009-03-31 1:58 ` Theodore Tso
2009-03-31 2:14 ` Tejun Heo
2009-03-31 11:18 ` Jens Axboe
2009-03-31 21:29 ` Jeff Garzik
2009-04-01 1:03 ` Tejun Heo
2009-03-30 12:15 ` [PATCH 3/7] ext4: " Fernando Luis Vázquez Cao
2009-03-30 12:18 ` [PATCH 4/7] vfs: call blkdev_issue_flush() from generic file_fsync() helper Fernando Luis Vázquez Cao
2009-03-30 12:22 ` [PATCH 5/7] vfs: Add wbcflush sysfs knob to disable storage device writeback cache flushes Fernando Luis Vázquez Cao
2009-03-30 12:36 ` Jens Axboe
2009-03-30 14:18 ` Fernando Luis Vázquez Cao
2009-03-30 14:35 ` Jens Axboe
2009-03-31 6:49 ` Fernando Luis Vázquez Cao
2009-03-31 10:38 ` Jens Axboe
2009-03-31 11:56 ` Fernando Luis Vázquez Cao
2009-03-30 15:14 ` Bartlomiej Zolnierkiewicz
2009-03-30 17:51 ` Jens Axboe
2009-03-30 17:55 ` Jeff Garzik
2009-03-30 17:59 ` Jens Axboe
2009-03-30 19:09 ` Jeff Garzik
2009-03-30 20:56 ` Bartlomiej Zolnierkiewicz
2009-03-30 22:01 ` Jeff Garzik
2009-03-30 12:33 ` [PATCH 6/7] xfs: propagate issue-flush error code Fernando Luis Vázquez Cao
2009-03-30 15:20 ` Bartlomiej Zolnierkiewicz
2009-03-31 23:37 ` Dave Chinner
2009-04-01 3:52 ` Fernando Luis Vázquez Cao
2009-03-30 12:36 ` [PATCH 7/7] reiserfs: " Fernando Luis Vázquez Cao
2009-03-30 15:25 ` Bartlomiej Zolnierkiewicz
2009-03-30 1:43 ` [PATCH 3/5] ext4: call blkdev_issue_flush on fsync Fernando Luis Vázquez Cao
2009-03-30 1:53 ` [PATCH 4/5] vfs: call blkdev_issue_flush from generic file_fsync helper Fernando Luis Vázquez Cao
2009-03-30 1:59 ` [PATCH 5/5] vfs: Add wbcflush sysfs knob to disable storage device writeback cache flushes Fernando Luis Vázquez Cao
2009-03-25 21:33 ` Linux 2.6.29 Jeff Garzik
2009-03-27 7:57 ` Jens Axboe
2009-03-27 14:13 ` Theodore Tso
2009-03-27 14:35 ` Christoph Hellwig
2009-03-27 15:03 ` Ric Wheeler
2009-03-27 20:38 ` Jeff Garzik
2009-03-28 0:14 ` Alan Cox
2009-03-29 8:25 ` Christoph Hellwig
2009-03-27 19:14 ` Chris Mason
2009-03-27 7:46 ` Jens Axboe
2009-03-31 20:49 ` Jeff Garzik
2009-03-31 22:02 ` Ric Wheeler
2009-03-31 22:22 ` Jeff Garzik
2009-04-01 18:34 ` Mark Lord
2009-03-24 20:24 ` David Rees
2009-03-25 7:30 ` David Rees
2009-03-24 23:03 ` Jesse Barnes
2009-03-25 0:05 ` Arjan van de Ven
2009-03-25 17:59 ` David Rees
2009-03-25 18:40 ` Stephen Clark
2009-03-26 23:53 ` Mark Lord
2009-03-25 2:09 ` Theodore Tso
2009-03-25 3:57 ` Jesse Barnes
2009-03-27 11:27 ` Martin Steigerwald
2009-03-24 12:27 ` Andi Kleen
2009-04-02 14:00 ` Mathieu Desnoyers
2009-03-24 13:02 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Ingo Molnar
2009-03-24 13:12 ` Ingo Molnar
2009-03-24 13:35 ` Herbert Xu
2009-03-24 14:06 ` Ingo Molnar
2009-03-24 14:33 ` Robert Schwebel
2009-03-24 14:39 ` Ingo Molnar
2009-03-24 15:09 ` Herbert Xu
2009-03-24 15:29 ` Sascha Hauer
2009-03-24 15:36 ` Ingo Molnar
2009-03-24 15:47 ` Ingo Molnar
2009-03-24 15:59 ` Herbert Xu
2009-03-24 16:02 ` Ingo Molnar
2009-03-24 19:19 ` Ingo Molnar
2009-03-24 20:54 ` Ingo Molnar
2009-03-24 21:17 ` Revert "gro: Fix legacy path napi_complete crash", David Miller
2009-03-24 22:01 ` Ingo Molnar
2009-03-25 0:33 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Herbert Xu
2009-03-25 0:32 ` Herbert Xu
2009-03-25 2:09 ` Revert "gro: Fix legacy path napi_complete crash", David Miller
2009-03-24 21:36 ` David Miller
2009-03-24 22:47 ` David Miller
2009-03-25 0:24 ` Herbert Xu
2009-03-25 0:23 ` Herbert Xu
2009-03-25 2:11 ` David Miller
2009-03-25 7:33 ` Ingo Molnar
2009-03-25 8:04 ` David Miller
2009-03-25 12:08 ` Herbert Xu
2009-03-25 12:20 ` Ingo Molnar
2009-03-25 12:26 ` Herbert Xu
2009-03-25 22:01 ` Ingo Molnar
2009-03-25 22:20 ` Ken Witherow
2009-03-26 9:07 ` Herbert Xu
2009-03-26 9:25 ` Ingo Molnar
2009-03-25 22:54 ` Jarek Poplawski
2009-03-26 0:03 ` David Miller
2009-03-26 0:10 ` David Miller
2009-03-26 6:43 ` Jarek Poplawski
2009-03-26 7:52 ` David Miller
2009-03-26 7:59 ` Jarek Poplawski
2009-03-26 2:41 ` Herbert Xu
2009-03-26 3:20 ` David Miller
2009-03-26 3:40 ` Herbert Xu
2009-03-26 9:18 ` Jarek Poplawski
2009-03-26 7:39 ` Jarek Poplawski
2009-03-26 7:59 ` David Miller
2009-03-25 9:34 ` Ingo Molnar
2009-03-24 15:22 ` Revert "gro: Fix legacy path napi_complete crash", (was: Re: Linux 2.6.29) Sascha Hauer
2009-03-27 13:35 ` Linux 2.6.29 Hans-Peter Jansen
2009-03-27 14:53 ` Geert Uytterhoeven
2009-03-27 15:46 ` Mike Galbraith
2009-03-27 16:02 ` Linus Torvalds
2009-03-28 7:50 ` Mike Galbraith
2009-03-30 22:00 ` Hans-Peter Jansen
2009-03-30 22:07 ` Arjan van de Ven
2009-03-30 10:18 ` Pavel Machek
2009-03-31 13:33 ` Rafael J. Wysocki
2009-03-31 15:30 ` Hans-Peter Jansen
2009-03-31 19:37 ` Jeff Garzik
2009-03-31 19:47 ` Arjan van de Ven
2009-04-02 19:01 ` Andreas T.Auer
2009-03-27 16:49 ` Frans Pop
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090331170319.GT5178@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=chris.mason@oracle.com \
--cc=david@fromorbit.com \
--cc=drees76@gmail.com \
--cc=fernando@oss.ntt.co.jp \
--cc=hch@infradead.org \
--cc=jeff@garzik.org \
--cc=jesper@krogh.cc \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=rwheeler@redhat.com \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).