diff options
Diffstat (limited to 'fs/btrfs')
| -rw-r--r-- | fs/btrfs/check-integrity.c | 3 | ||||
| -rw-r--r-- | fs/btrfs/ctree.h | 2 | ||||
| -rw-r--r-- | fs/btrfs/disk-io.c | 6 | ||||
| -rw-r--r-- | fs/btrfs/volumes.c | 3 | 
4 files changed, 5 insertions, 9 deletions
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index 11d47bfb62b..18af6f48781 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c @@ -813,8 +813,7 @@ static int btrfsic_process_superblock_dev_mirror(  	    (bh->b_data + (dev_bytenr & 4095));  	if (btrfs_super_bytenr(super_tmp) != dev_bytenr || -	    strncmp((char *)(&(super_tmp->magic)), BTRFS_MAGIC, -		    sizeof(super_tmp->magic)) || +	    super_tmp->magic != cpu_to_le64(BTRFS_MAGIC) ||  	    memcmp(device->uuid, super_tmp->dev_item.uuid, BTRFS_UUID_SIZE) ||  	    btrfs_super_nodesize(super_tmp) != state->metablock_size ||  	    btrfs_super_leafsize(super_tmp) != state->metablock_size || diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 961ff298634..1679051f4d3 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -46,7 +46,7 @@ extern struct kmem_cache *btrfs_path_cachep;  extern struct kmem_cache *btrfs_free_space_cachep;  struct btrfs_ordered_sum; -#define BTRFS_MAGIC "_BHRfS_M" +#define BTRFS_MAGIC 0x4D5F53665248425FULL /* ascii _BHRfS_M, no null */  #define BTRFS_MAX_MIRRORS 3 diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index e511d9f78c1..39ff34a62a2 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -2407,8 +2407,7 @@ int open_ctree(struct super_block *sb,  	sb->s_blocksize = sectorsize;  	sb->s_blocksize_bits = blksize_bits(sectorsize); -	if (strncmp((char *)(&disk_super->magic), BTRFS_MAGIC, -		    sizeof(disk_super->magic))) { +	if (disk_super->magic != cpu_to_le64(BTRFS_MAGIC)) {  		printk(KERN_INFO "btrfs: valid FS not found on %s\n", sb->s_id);  		goto fail_sb_buffer;  	} @@ -2815,8 +2814,7 @@ struct buffer_head *btrfs_read_dev_super(struct block_device *bdev)  		super = (struct btrfs_super_block *)bh->b_data;  		if (btrfs_super_bytenr(super) != bytenr || -		    strncmp((char *)(&super->magic), BTRFS_MAGIC, -			    sizeof(super->magic))) { +		    super->magic != cpu_to_le64(BTRFS_MAGIC)) {  			brelse(bh);  			continue;  		} diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 567076542d1..72b1cf1b2b5 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -855,8 +855,7 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder,  	disk_super = p + (bytenr & ~PAGE_CACHE_MASK);  	if (btrfs_super_bytenr(disk_super) != bytenr || -	    strncmp((char *)(&disk_super->magic), BTRFS_MAGIC, -		    sizeof(disk_super->magic))) +	    disk_super->magic != cpu_to_le64(BTRFS_MAGIC))  		goto error_unmap;  	devid = btrfs_stack_device_id(&disk_super->dev_item);  |