Re: [Ext2-devel] [PATCH] concurrent block allocation for ext2 against 2.5.64

From: Alex Tomas (bzzz@tmi.comex.ru)
Date: Thu Mar 13 2003 - 13:43:05 EST


fs/attr.c:
        if (ia_valid & ATTR_SIZE) {
                if (attr->ia_size == inode->i_size) {
                        if (ia_valid == ATTR_SIZE)
                                goto out; /* we can skip lock_kernel() */
                } else {
                        lock_kernel();
                        error = vmtruncate(inode, attr->ia_size);
                        unlock_kernel();
                        if (error)
                                goto out;
                }
        }

so, all (!) truncates are serialized

>>>>> Andreas Dilger (AD) writes:

 AD> On Mar 13, 2003 11:55 +0300, Alex Tomas wrote:
>> as Andrew said, concurrent balloc for ext3 is useless because of
>> BKL. and I saw it in benchmarks. but it may be useful for ext2.

 AD> Sadly, we are constantly diverging the ext2/ext3 codebases. Lots
 AD> of features are going into ext3, but lots of fixes/improvements
 AD> are only going into ext2. Is ext3 holding BKL for doing
 AD> journal_start() still?

 AD> Looking at ext3_prepare_write() we grab the BKL for doing
 AD> journal_start() and for journal_stop(), but I don't _think_ we
 AD> need BKL for journal_stop() do we? We may or may not need it for
 AD> the journal_data case, but that is not even working right now I
 AD> think.

 AD> It also seems we are getting BKL in ext3_truncate(), which likely
 AD> isn't needed past journal_start(), although we do need to have
 AD> superblock-only lock for ext3_orphan_add/del.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Mar 15 2003 - 22:00:36 EST