Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

btrfs: constify structs with op functions or static definitions

There are some op tables that can be easily made const, similarly the
sysfs feature and raid tables. This is motivated by PaX CONSTIFY plugin.

Signed-off-by: David Sterba <dsterba@suse.cz>

+13 -11
+1 -1
fs/btrfs/compression.c
··· 750 750 static atomic_t comp_alloc_workspace[BTRFS_COMPRESS_TYPES]; 751 751 static wait_queue_head_t comp_workspace_wait[BTRFS_COMPRESS_TYPES]; 752 752 753 - static struct btrfs_compress_op *btrfs_compress_op[] = { 753 + static const struct btrfs_compress_op * const btrfs_compress_op[] = { 754 754 &btrfs_zlib_compress, 755 755 &btrfs_lzo_compress, 756 756 };
+2 -2
fs/btrfs/compression.h
··· 77 77 size_t srclen, size_t destlen); 78 78 }; 79 79 80 - extern struct btrfs_compress_op btrfs_zlib_compress; 81 - extern struct btrfs_compress_op btrfs_lzo_compress; 80 + extern const struct btrfs_compress_op btrfs_zlib_compress; 81 + extern const struct btrfs_compress_op btrfs_lzo_compress; 82 82 83 83 #endif
+2 -2
fs/btrfs/disk-io.c
··· 54 54 #include <asm/cpufeature.h> 55 55 #endif 56 56 57 - static struct extent_io_ops btree_extent_io_ops; 57 + static const struct extent_io_ops btree_extent_io_ops; 58 58 static void end_workqueue_fn(struct btrfs_work *work); 59 59 static void free_fs_root(struct btrfs_root *root); 60 60 static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info, ··· 4287 4287 return 0; 4288 4288 } 4289 4289 4290 - static struct extent_io_ops btree_extent_io_ops = { 4290 + static const struct extent_io_ops btree_extent_io_ops = { 4291 4291 .readpage_end_io_hook = btree_readpage_end_io_hook, 4292 4292 .readpage_io_failed_hook = btree_io_failed_hook, 4293 4293 .submit_bio_hook = btree_submit_bio_hook,
+1 -1
fs/btrfs/extent_io.h
··· 97 97 u64 dirty_bytes; 98 98 int track_uptodate; 99 99 spinlock_t lock; 100 - struct extent_io_ops *ops; 100 + const struct extent_io_ops *ops; 101 101 }; 102 102 103 103 struct extent_state {
+1 -1
fs/btrfs/lzo.c
··· 434 434 return ret; 435 435 } 436 436 437 - struct btrfs_compress_op btrfs_lzo_compress = { 437 + const struct btrfs_compress_op btrfs_lzo_compress = { 438 438 .alloc_workspace = lzo_alloc_workspace, 439 439 .free_workspace = lzo_free_workspace, 440 440 .compress_pages = lzo_compress_pages,
+2
fs/btrfs/props.c
··· 425 425 426 426 return NULL; 427 427 } 428 + 429 +
+1 -1
fs/btrfs/sysfs.c
··· 459 459 static char btrfs_unknown_feature_names[3][NUM_FEATURE_BITS][13]; 460 460 static struct btrfs_feature_attr btrfs_feature_attrs[3][NUM_FEATURE_BITS]; 461 461 462 - static u64 supported_feature_masks[3] = { 462 + static const u64 supported_feature_masks[3] = { 463 463 [FEAT_COMPAT] = BTRFS_FEATURE_COMPAT_SUPP, 464 464 [FEAT_COMPAT_RO] = BTRFS_FEATURE_COMPAT_RO_SUPP, 465 465 [FEAT_INCOMPAT] = BTRFS_FEATURE_INCOMPAT_SUPP,
+1 -1
fs/btrfs/transaction.c
··· 35 35 36 36 #define BTRFS_ROOT_TRANS_TAG 0 37 37 38 - static unsigned int btrfs_blocked_trans_types[TRANS_STATE_MAX] = { 38 + static const unsigned int btrfs_blocked_trans_types[TRANS_STATE_MAX] = { 39 39 [TRANS_STATE_RUNNING] = 0U, 40 40 [TRANS_STATE_BLOCKED] = (__TRANS_USERSPACE | 41 41 __TRANS_START),
+1 -1
fs/btrfs/volumes.c
··· 4131 4131 return 0; 4132 4132 } 4133 4133 4134 - static struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = { 4134 + static const struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = { 4135 4135 [BTRFS_RAID_RAID10] = { 4136 4136 .sub_stripes = 2, 4137 4137 .dev_stripes = 1,
+1 -1
fs/btrfs/zlib.c
··· 403 403 return ret; 404 404 } 405 405 406 - struct btrfs_compress_op btrfs_zlib_compress = { 406 + const struct btrfs_compress_op btrfs_zlib_compress = { 407 407 .alloc_workspace = zlib_alloc_workspace, 408 408 .free_workspace = zlib_free_workspace, 409 409 .compress_pages = zlib_compress_pages,