summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ocfs2/quota_local.c6
-rw-r--r--fs/quota/dquot.c6
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;
777out_err: 777out_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);