On 2010-07-11, at 11:04, Patrick J. LoPresti wrote:
> +/* Check to make sure entire volume is addressable on this system.
> +   Requires osb_clusters_at_boot to be valid and for the journal to
> +   have been initialized by ocfs2_journal_init(). */
> +static int ocfs2_check_addressable(struct ocfs2_super *osb)
> +{
> +     /* Absolute addressability check (borrowed from ext4/super.c) */
> +     if ((max_block >
> +          (sector_t)(~0LL) >> (osb->sb->s_blocksize_bits - 9)) ||
> +         (max_block > (pgoff_t)(~0LL) >> (PAGE_CACHE_SHIFT -
> +                                          osb->sb->s_blocksize_bits))) {
> +             mlog(ML_ERROR, "Volume too large "
> +                  "to mount safely on this system");
> +             status = -EFBIG;
> +             goto out;
> +     }

This hunk of code is actually in several filesystems.  It wouldn't be a bad 
idea to make it a library function that can be called by the filesystem to 
check the kernel page cache and block layer can handle these large filesystems.

Cheers, Andreas






_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to