Re: [PATCH V3 0/5] introduce a mutex lock and fix missing checks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Arne,
	
	This patch-set mainly do two kind of things:
	1> introduce a mutex lock to avoid race conditions
	2> fix missing check before creating qgroup relations and
	btrfs_qgroup_inherit().

	I think the above two things should be fixed. However,
	this patch-set don't have ioctl checks, i want to make it
	a RFC patch:

	all the quota configurations are loaded in memory,
	so before operating in disk we can have a check if
	it is really necessary to operate in disk.[for example, creating
	a group has been existed].

	However, if we don't have this check, it should work
	ok for us too. Maybe to have a check in memory before will
        speed up the operations if operation should return errors.

	What do you think of ioctls checks?


Thanks,
Wang
	 
> between operations in disk and in memory.
> 
> Holding mutex lock, we can fix missing check before creating
> a qgroup(whether 'src' and 'dst' exist).And we can guarantee
> that all the qgroups in 'inherit' dose exist before tracking
> qgroup.
> 
> V2->V3:
> 	rename 'quota_lock' to 'qgroup_ioctl_lock' and holding
> 	'qgroup_ioctl_lock' inside qgroup.c to avoid serializing
> 	operations.
> V1->V2:
> 	use quota configurations in memory to speed up checks.
> 
> Wang Shilong (5):
>  Btrfs: introduce a mutex lock for btrfs quota operations
>  Btrfs: remove some unnecessary spin_lock usages
>  Btrfs: fix missing check before creating a qgroup relation
>  Btrfs: fix missing check in the btrfs_qgroup_inherit()
>  Btrfs: fix a warning when updating qgroup limit
> 
> fs/btrfs/ctree.h   |   3 ++
> fs/btrfs/disk-io.c |   1 +
> fs/btrfs/qgroup.c  | 136 ++++++++++++++++++++++++++++++++++-------------------
> 3 files changed, 92 insertions(+), 48 deletions(-)
> 
> -- 
> 1.7.11.7
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux