diff options
-rw-r--r-- | fs/ocfs2/quota_local.c | 6 | ||||
-rw-r--r-- | fs/quota/dquot.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/fs/ocfs2/quota_local.c b/fs/ocfs2/quota_local.c index 1311eff1c050..1829f6a45d46 100644 --- a/fs/ocfs2/quota_local.c +++ b/fs/ocfs2/quota_local.c | |||
@@ -693,7 +693,7 @@ static int ocfs2_local_read_info(struct super_block *sb, int type) | |||
693 | 693 | ||
694 | /* We don't need the lock and we have to acquire quota file locks | 694 | /* We don't need the lock and we have to acquire quota file locks |
695 | * which will later depend on this lock */ | 695 | * which will later depend on this lock */ |
696 | up_write(&sb_dqopt(sb)->dqio_sem); | 696 | up_read(&sb_dqopt(sb)->dqio_sem); |
697 | info->dqi_max_spc_limit = 0x7fffffffffffffffLL; | 697 | info->dqi_max_spc_limit = 0x7fffffffffffffffLL; |
698 | info->dqi_max_ino_limit = 0x7fffffffffffffffLL; | 698 | info->dqi_max_ino_limit = 0x7fffffffffffffffLL; |
699 | oinfo = kmalloc(sizeof(struct ocfs2_mem_dqinfo), GFP_NOFS); | 699 | oinfo = kmalloc(sizeof(struct ocfs2_mem_dqinfo), GFP_NOFS); |
@@ -772,7 +772,7 @@ static int ocfs2_local_read_info(struct super_block *sb, int type) | |||
772 | goto out_err; | 772 | goto out_err; |
773 | } | 773 | } |
774 | 774 | ||
775 | down_write(&sb_dqopt(sb)->dqio_sem); | 775 | down_read(&sb_dqopt(sb)->dqio_sem); |
776 | return 0; | 776 | return 0; |
777 | out_err: | 777 | out_err: |
778 | if (oinfo) { | 778 | if (oinfo) { |
@@ -786,7 +786,7 @@ out_err: | |||
786 | kfree(oinfo); | 786 | kfree(oinfo); |
787 | } | 787 | } |
788 | brelse(bh); | 788 | brelse(bh); |
789 | down_write(&sb_dqopt(sb)->dqio_sem); | 789 | down_read(&sb_dqopt(sb)->dqio_sem); |
790 | return -1; | 790 | return -1; |
791 | } | 791 | } |
792 | 792 | ||
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 8d5ccad3bf3e..3852a3c79ac9 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c | |||
@@ -2331,15 +2331,15 @@ static int vfs_load_quota_inode(struct inode *inode, int type, int format_id, | |||
2331 | dqopt->info[type].dqi_format = fmt; | 2331 | dqopt->info[type].dqi_format = fmt; |
2332 | dqopt->info[type].dqi_fmt_id = format_id; | 2332 | dqopt->info[type].dqi_fmt_id = format_id; |
2333 | INIT_LIST_HEAD(&dqopt->info[type].dqi_dirty_list); | 2333 | INIT_LIST_HEAD(&dqopt->info[type].dqi_dirty_list); |
2334 | down_write(&dqopt->dqio_sem); | 2334 | down_read(&dqopt->dqio_sem); |
2335 | error = dqopt->ops[type]->read_file_info(sb, type); | 2335 | error = dqopt->ops[type]->read_file_info(sb, type); |
2336 | if (error < 0) { | 2336 | if (error < 0) { |
2337 | up_write(&dqopt->dqio_sem); | 2337 | up_read(&dqopt->dqio_sem); |
2338 | goto out_file_init; | 2338 | goto out_file_init; |
2339 | } | 2339 | } |
2340 | if (dqopt->flags & DQUOT_QUOTA_SYS_FILE) | 2340 | if (dqopt->flags & DQUOT_QUOTA_SYS_FILE) |
2341 | dqopt->info[type].dqi_flags |= DQF_SYS_FILE; | 2341 | dqopt->info[type].dqi_flags |= DQF_SYS_FILE; |
2342 | up_write(&dqopt->dqio_sem); | 2342 | up_read(&dqopt->dqio_sem); |
2343 | spin_lock(&dq_state_lock); | 2343 | spin_lock(&dq_state_lock); |
2344 | dqopt->flags |= dquot_state_flag(flags, type); | 2344 | dqopt->flags |= dquot_state_flag(flags, type); |
2345 | spin_unlock(&dq_state_lock); | 2345 | spin_unlock(&dq_state_lock); |