quota: Do more fine-grained locking in dquot_acquire()
authorJan Kara <jack@suse.cz>
Thu, 8 Jun 2017 13:00:20 +0000 (15:00 +0200)
committerJan Kara <jack@suse.cz>
Thu, 17 Aug 2017 16:56:07 +0000 (18:56 +0200)
commit62676838cb39f4e4f44dd697c4d5d4214bda8cb1
tree79460ae1e1a4703ab739915d6e821661d9493780
parentbc8230ee8e2ba967af780cdaf2dcc0f8e5eb45ca
quota: Do more fine-grained locking in dquot_acquire()

We need dqio_sem held just for reading when calling ->read_dqblk() in
dquot_acquire(). Also dqio_sem is not needed when setting DQ_READ_B and
DQ_ACTIVE_B as concurrent reads and dquot activations are serialized by
dq_lock. So acquire and release dqio_sem closer to the place where it is
needed. This reduces lock hold time and will make locking changes
easier.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/quota/dquot.c