On Mon, 20 Oct 2008, Pramod Batni wrote:

> Yes, the implementation of the above ioctl walks the list of mounted
> filesystems 'vfslist' [in this case it walks 5000 nodes of a linked list
> before the ioctl returns] This in-kernel traversal of the filesystems is
> taking time.

Hmm, O(n) :(... I guess that is the implementation of getmntent(3C)?

Why does creating a new ZFS filesystem require enumerating all existing
ones?

> You could set 'zfs set mountpoint=none <pool-name>' and then create the
> filesystems under the <pool-name> . [In my experiments the number of
> ioctl's went down drastically.] You could then set a mountpoint for the
> pool and then issue a 'zpool mount -a' .

That would work for an initial mass creation, but we are going to need to
create and delete fairly large numbers of file systems over time, this
workaround would not help for that.


-- 
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  [EMAIL PROTECTED]
California State Polytechnic University  |  Pomona CA 91768
_______________________________________________
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to