[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090811093316.GA23898@duck.suse.cz>
Date: Tue, 11 Aug 2009 11:33:16 +0200
From: Jan Kara <jack@...e.cz>
To: Al Boldi <a1426z@...ab.com>
Cc: Theodore Ts'o <tytso@....edu>, Jan Kara <jack@...e.cz>,
Linux Kernel Developers List <linux-kernel@...r.kernel.org>,
linux-ext4@...r.kernel.org
Subject: Re: [PATCH, RFC] ext3: Update Kconfig description of
EXT3_DEFAULTS_TO_ORDERED
On Tue 11-08-09 06:49:20, Al Boldi wrote:
> Theodore Ts'o wrote:
> > + "data=ordered" mode can also result in major performance
> > + problems, including seconds-long delays before an fsync()
> > + call returns. For details, see:
> > +
> > + http://ext4.wiki.kernel.org/index.php/Ext3_data_mode_tradeoffs
>
> Why isn't the fsync problem fixable?
Because it's quite deep in the design of JBD: All the modifications done
to a filesystem go to one transactions. When the transaction grows big
enough or old enough, we commit the transaction, which means we write all
the metadata to the journal and all the ordered data to their final
location on disk. If you do fsync(), you have to wait for a transaction
commit with your data to finish, so that you are guaranteed a consistent
state of metadata is on disk. But when there is heavy background writing,
it means there's a lot of data you have to write out and wait for... It's
not easy to work around this - naively, you might want to separate out just
the writes you care about for fsync() but that's not easily possible
because bitmaps and group descriptors are modified by other writes as well.
Honza
--
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists