Source-Changes archive

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

Re: CVS commit: src/sys/fs/udf

On Sun, Jul 20, 2008 at 02:30:37PM +1000, Simon Burge wrote:
> Daniel Carosone wrote:
> > > Modified Files:
> > >   src/sys/fs/udf: udf_vfsops.c
> > > 
> > > Log Message:
> > > Limit sectorsize to max. 4096 bytes. This prevents a panic when declaring
> > > the node pool since standard pools are limited upto 4096 aparently.
> > > Pagesize limit even?
> > 
> > Yes, page size.

Ah that explains; guess i'll have to check for page size for now then.

> Further to that, it's just the default allocator that uses the page
> based allocator.  Look at the palloc argument to pool_init() in pool(9)
> if you want/need to use a different allocator that has different
> constraints.

yes, i've used one myself even! Still i wonder why it was made to 
explicitly limit it to page sizes and not select a different scheme for 
bigger sizes automatically.

> Two other questions/comments:
>  - What's the correlation between sector size and node sizes?  The
>    pool_init() call uses sizeof(struct udf_node) which in no way
>    seems dependent on the sector size so I'm not sure I understand
>    what panic this fixes.

There are other pools that are not declared in udf_vfsops.c that claim 
bigger ones. The pool you are refering to is the administration the FS 
keeps on each node; the on-disc structures are sectorsized and stored in 
either udf_node->fe or udf_node->efe and if allocated in udf_node->ext[]. 
These memories are claimed and managed in the strategy diciplines.

>  - The original commit message says "limit to 4096" but the code
>    says ">= 8192".

Since current NetBSD code can only handle powers of two for sectorsize and 
the code already checked that, 4096 is de facto the largest size it can 
handle. UDF on the other hand can handle and is defined for every multiple 
of 512 bytes, also odd or nor powers of two i.e. 19200 bytes/sector though 
unlikely is valid.

With regards,

Attachment: pgpa9XkADl6Dn.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index