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

Re: [PATCH] Btrfs: do not mount when we have a sectorsize larger than PAGE_SIZE



On 3 April 2012 02:15, Liu Bo <liubo2009@xxxxxxxxxxxxxx> wrote:
> On 04/02/2012 08:17 PM, David Sterba wrote:
>> On Mon, Apr 02, 2012 at 07:28:18PM +0800, Liu Bo wrote:
>>> --- a/fs/btrfs/disk-io.c
>>> +++ b/fs/btrfs/disk-io.c
>>> @@ -2104,6 +2104,14 @@ int open_ctree(struct super_block *sb,
>>>              err = -EINVAL;
>>>              goto fail_alloc;
>>>      }
>>> +    if (btrfs_super_sectorsize(disk_super) > PAGE_CACHE_SIZE) {
>>> +            printk(KERN_ERR "BTRFS: couldn't mount because sectorsize(%d)"
>>> +                   " was larger than PAGE_SIZE(%lu)\n",
>>
>> %llu
>>
>
> err, thanks for caching it.
>
>>> +                   btrfs_super_sectorsize(disk_super),
>>> +                   (unsigned long long)PAGE_CACHE_SIZE);
>>> +            err = -EINVAL;
>>> +            goto fail_alloc;
>>> +    }
>>>
>>>      features = btrfs_super_incompat_flags(disk_super);
>>>      features |= BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF;
>>
>> We have the opposite check a few lines below
>>
>> 2257         if (sectorsize < PAGE_SIZE) {
>> 2258                 printk(KERN_WARNING "btrfs: Incompatible sector size "
>> 2259                        "found on %s\n", sb->s_id);
>> 2260                 goto fail_sb_buffer;
>> 2261         }
>> 2262
>>
>> so sectorsize must be equal to PAGE_SIZE always and one check can catch
>> both cases.
>>
>
> But this check is _useless_ when we have a sectorsize which is larger than PAGE_SIZE,
> we're not ready for that, too.
>
> We already have one check, so I'll modify this instead. :)
>

Minor observation.
One is "PAGE_SIZE" and one is "PAGE_CACHE_SIZE".
Might those be different?
--
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


[Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux