Hello, sb->s_dqout->dqptr_sem is used to serialize ops using quota_info for pointers from inode to dquots. But for __dquot_alloc_space(), it could be safely moved down after the default warn[] array got initialized IMHO. Thanks, -Jeff Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx> --- fs/quota/dquot.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 10cbe84..510ae87 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -1571,10 +1571,10 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) goto out; } - down_read(&sb_dqopt(inode->i_sb)->dqptr_sem); for (cnt = 0; cnt < MAXQUOTAS; cnt++) warn[cnt].w_type = QUOTA_NL_NOWARN; + down_read(&sb_dqopt(inode->i_sb)->dqptr_sem); spin_lock(&dq_data_lock); for (cnt = 0; cnt < MAXQUOTAS; cnt++) { if (!dquots[cnt]) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html