diff options
| author | Qinghuang Feng <qhfeng.kernel@gmail.com> | 2009-01-21 10:59:08 -0500 | 
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2009-01-21 10:59:08 -0500 | 
| commit | c6e308713a47527f88a277ee95b7c5d1db80f77b (patch) | |
| tree | 0a890bb3ac2ae1bb8733cf8679d1441e1b85eb81 /fs | |
| parent | 57506d50ed6db7b0e7ddc9845e86e81f140983d5 (diff) | |
| download | olio-linux-3.10-c6e308713a47527f88a277ee95b7c5d1db80f77b.tar.xz olio-linux-3.10-c6e308713a47527f88a277ee95b7c5d1db80f77b.zip  | |
Btrfs: simplify iteration codes
Merge list_for_each* and list_entry to list_for_each_entry*
Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/btrfs/disk-io.c | 15 | ||||
| -rw-r--r-- | fs/btrfs/extent-tree.c | 8 | ||||
| -rw-r--r-- | fs/btrfs/inode.c | 5 | ||||
| -rw-r--r-- | fs/btrfs/ordered-data.c | 4 | ||||
| -rw-r--r-- | fs/btrfs/transaction.c | 4 | ||||
| -rw-r--r-- | fs/btrfs/volumes.c | 35 | 
6 files changed, 19 insertions, 52 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 0d8ccd625ba..26a18779e84 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -1135,7 +1135,6 @@ static int btrfs_congested_fn(void *congested_data, int bdi_bits)  {  	struct btrfs_fs_info *info = (struct btrfs_fs_info *)congested_data;  	int ret = 0; -	struct list_head *cur;  	struct btrfs_device *device;  	struct backing_dev_info *bdi;  #if 0 @@ -1143,8 +1142,7 @@ static int btrfs_congested_fn(void *congested_data, int bdi_bits)  	    btrfs_congested_async(info, 0))  		return 1;  #endif -	list_for_each(cur, &info->fs_devices->devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, &info->fs_devices->devices, dev_list) {  		if (!device->bdev)  			continue;  		bdi = blk_get_backing_dev_info(device->bdev); @@ -1162,13 +1160,11 @@ static int btrfs_congested_fn(void *congested_data, int bdi_bits)   */  static void __unplug_io_fn(struct backing_dev_info *bdi, struct page *page)  { -	struct list_head *cur;  	struct btrfs_device *device;  	struct btrfs_fs_info *info;  	info = (struct btrfs_fs_info *)bdi->unplug_io_data; -	list_for_each(cur, &info->fs_devices->devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, &info->fs_devices->devices, dev_list) {  		if (!device->bdev)  			continue; @@ -1994,7 +1990,6 @@ static int write_dev_supers(struct btrfs_device *device,  int write_all_supers(struct btrfs_root *root, int max_mirrors)  { -	struct list_head *cur;  	struct list_head *head = &root->fs_info->fs_devices->devices;  	struct btrfs_device *dev;  	struct btrfs_super_block *sb; @@ -2010,8 +2005,7 @@ int write_all_supers(struct btrfs_root *root, int max_mirrors)  	sb = &root->fs_info->super_for_commit;  	dev_item = &sb->dev_item; -	list_for_each(cur, head) { -		dev = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(dev, head, dev_list) {  		if (!dev->bdev) {  			total_errors++;  			continue; @@ -2044,8 +2038,7 @@ int write_all_supers(struct btrfs_root *root, int max_mirrors)  	}  	total_errors = 0; -	list_for_each(cur, head) { -		dev = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(dev, head, dev_list) {  		if (!dev->bdev)  			continue;  		if (!dev->in_fs_metadata || !dev->writeable) diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index cdc961e7556..a4e36c38b81 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -325,10 +325,8 @@ static struct btrfs_space_info *__find_space_info(struct btrfs_fs_info *info,  						  u64 flags)  {  	struct list_head *head = &info->space_info; -	struct list_head *cur;  	struct btrfs_space_info *found; -	list_for_each(cur, head) { -		found = list_entry(cur, struct btrfs_space_info, list); +	list_for_each_entry(found, head, list) {  		if (found->flags == flags)  			return found;  	} @@ -3013,7 +3011,6 @@ loop_check:  static void dump_space_info(struct btrfs_space_info *info, u64 bytes)  {  	struct btrfs_block_group_cache *cache; -	struct list_head *l;  	printk(KERN_INFO "space_info has %llu free, is %sfull\n",  	       (unsigned long long)(info->total_bytes - info->bytes_used - @@ -3021,8 +3018,7 @@ static void dump_space_info(struct btrfs_space_info *info, u64 bytes)  	       (info->full) ? "" : "not ");  	down_read(&info->groups_sem); -	list_for_each(l, &info->block_groups) { -		cache = list_entry(l, struct btrfs_block_group_cache, list); +	list_for_each_entry(cache, &info->block_groups, list) {  		spin_lock(&cache->lock);  		printk(KERN_INFO "block group %llu has %llu bytes, %llu used "  		       "%llu pinned %llu reserved\n", diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 44dbd550c4b..45cf03ee1bc 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1323,12 +1323,11 @@ static noinline int add_pending_csums(struct btrfs_trans_handle *trans,  			     struct inode *inode, u64 file_offset,  			     struct list_head *list)  { -	struct list_head *cur;  	struct btrfs_ordered_sum *sum;  	btrfs_set_trans_block_group(trans, inode); -	list_for_each(cur, list) { -		sum = list_entry(cur, struct btrfs_ordered_sum, list); + +	list_for_each_entry(sum, list, list) {  		btrfs_csum_file_blocks(trans,  		       BTRFS_I(inode)->root->fs_info->csum_root, sum);  	} diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c index a2094017027..77c2411a5f0 100644 --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c @@ -613,7 +613,6 @@ int btrfs_find_ordered_sum(struct inode *inode, u64 offset, u64 disk_bytenr,  	struct btrfs_sector_sum *sector_sums;  	struct btrfs_ordered_extent *ordered;  	struct btrfs_ordered_inode_tree *tree = &BTRFS_I(inode)->ordered_tree; -	struct list_head *cur;  	unsigned long num_sectors;  	unsigned long i;  	u32 sectorsize = BTRFS_I(inode)->root->sectorsize; @@ -624,8 +623,7 @@ int btrfs_find_ordered_sum(struct inode *inode, u64 offset, u64 disk_bytenr,  		return 1;  	mutex_lock(&tree->mutex); -	list_for_each_prev(cur, &ordered->list) { -		ordered_sum = list_entry(cur, struct btrfs_ordered_sum, list); +	list_for_each_entry_reverse(ordered_sum, &ordered->list, list) {  		if (disk_bytenr >= ordered_sum->bytenr) {  			num_sectors = ordered_sum->len / sectorsize;  			sector_sums = ordered_sum->sums; diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 8a08f944334..919172de5c9 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -852,11 +852,9 @@ static noinline int create_pending_snapshots(struct btrfs_trans_handle *trans,  {  	struct btrfs_pending_snapshot *pending;  	struct list_head *head = &trans->transaction->pending_snapshots; -	struct list_head *cur;  	int ret; -	list_for_each(cur, head) { -		pending = list_entry(cur, struct btrfs_pending_snapshot, list); +	list_for_each_entry(pending, head, list) {  		ret = create_pending_snapshot(trans, fs_info, pending);  		BUG_ON(ret);  	} diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 397c8db1bc2..fd0bedb07a6 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -103,10 +103,8 @@ static noinline struct btrfs_device *__find_device(struct list_head *head,  						   u64 devid, u8 *uuid)  {  	struct btrfs_device *dev; -	struct list_head *cur; -	list_for_each(cur, head) { -		dev = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(dev, head, dev_list) {  		if (dev->devid == devid &&  		    (!uuid || !memcmp(dev->uuid, uuid, BTRFS_UUID_SIZE))) {  			return dev; @@ -117,11 +115,9 @@ static noinline struct btrfs_device *__find_device(struct list_head *head,  static noinline struct btrfs_fs_devices *find_fsid(u8 *fsid)  { -	struct list_head *cur;  	struct btrfs_fs_devices *fs_devices; -	list_for_each(cur, &fs_uuids) { -		fs_devices = list_entry(cur, struct btrfs_fs_devices, list); +	list_for_each_entry(fs_devices, &fs_uuids, list) {  		if (memcmp(fsid, fs_devices->fsid, BTRFS_FSID_SIZE) == 0)  			return fs_devices;  	} @@ -344,14 +340,11 @@ error:  int btrfs_close_extra_devices(struct btrfs_fs_devices *fs_devices)  { -	struct list_head *tmp; -	struct list_head *cur; -	struct btrfs_device *device; +	struct btrfs_device *device, *next;  	mutex_lock(&uuid_mutex);  again: -	list_for_each_safe(cur, tmp, &fs_devices->devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) {  		if (device->in_fs_metadata)  			continue; @@ -382,14 +375,12 @@ again:  static int __btrfs_close_devices(struct btrfs_fs_devices *fs_devices)  { -	struct list_head *cur;  	struct btrfs_device *device;  	if (--fs_devices->opened > 0)  		return 0; -	list_for_each(cur, &fs_devices->devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, &fs_devices->devices, dev_list) {  		if (device->bdev) {  			close_bdev_exclusive(device->bdev, device->mode);  			fs_devices->open_devices--; @@ -438,7 +429,6 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices,  {  	struct block_device *bdev;  	struct list_head *head = &fs_devices->devices; -	struct list_head *cur;  	struct btrfs_device *device;  	struct block_device *latest_bdev = NULL;  	struct buffer_head *bh; @@ -449,8 +439,7 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices,  	int seeding = 1;  	int ret = 0; -	list_for_each(cur, head) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, head, dev_list) {  		if (device->bdev)  			continue;  		if (!device->name) @@ -1016,14 +1005,12 @@ int btrfs_rm_device(struct btrfs_root *root, char *device_path)  	}  	if (strcmp(device_path, "missing") == 0) { -		struct list_head *cur;  		struct list_head *devices;  		struct btrfs_device *tmp;  		device = NULL;  		devices = &root->fs_info->fs_devices->devices; -		list_for_each(cur, devices) { -			tmp = list_entry(cur, struct btrfs_device, dev_list); +		list_for_each_entry(tmp, devices, dev_list) {  			if (tmp->in_fs_metadata && !tmp->bdev) {  				device = tmp;  				break; @@ -1279,7 +1266,6 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)  	struct btrfs_trans_handle *trans;  	struct btrfs_device *device;  	struct block_device *bdev; -	struct list_head *cur;  	struct list_head *devices;  	struct super_block *sb = root->fs_info->sb;  	u64 total_bytes; @@ -1303,8 +1289,7 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)  	mutex_lock(&root->fs_info->volume_mutex);  	devices = &root->fs_info->fs_devices->devices; -	list_for_each(cur, devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, devices, dev_list) {  		if (device->bdev == bdev) {  			ret = -EEXIST;  			goto error; @@ -1703,7 +1688,6 @@ static u64 div_factor(u64 num, int factor)  int btrfs_balance(struct btrfs_root *dev_root)  {  	int ret; -	struct list_head *cur;  	struct list_head *devices = &dev_root->fs_info->fs_devices->devices;  	struct btrfs_device *device;  	u64 old_size; @@ -1722,8 +1706,7 @@ int btrfs_balance(struct btrfs_root *dev_root)  	dev_root = dev_root->fs_info->dev_root;  	/* step one make some room on all the devices */ -	list_for_each(cur, devices) { -		device = list_entry(cur, struct btrfs_device, dev_list); +	list_for_each_entry(device, devices, dev_list) {  		old_size = device->total_bytes;  		size_to_free = div_factor(old_size, 1);  		size_to_free = min(size_to_free, (u64)1 * 1024 * 1024);  |