xref: /freebsd/share/man/man9/vfs_getnewfsid.9 (revision 09356c848473844673c36bb823b82effc73f1ea5)
1ffc0b97fSAlfred Perlstein.\"
2ffc0b97fSAlfred Perlstein.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
3ffc0b97fSAlfred Perlstein.\"
4ffc0b97fSAlfred Perlstein.\" Redistribution and use in source and binary forms, with or without
5ffc0b97fSAlfred Perlstein.\" modification, are permitted provided that the following conditions
6ffc0b97fSAlfred Perlstein.\" are met:
7ffc0b97fSAlfred Perlstein.\" 1. Redistributions of source code must retain the above copyright
8ffc0b97fSAlfred Perlstein.\"    notice(s), this list of conditions and the following disclaimer as
9ffc0b97fSAlfred Perlstein.\"    the first lines of this file unmodified other than the possible
10ffc0b97fSAlfred Perlstein.\"    addition of one or more copyright notices.
11ffc0b97fSAlfred Perlstein.\" 2. Redistributions in binary form must reproduce the above copyright
12ffc0b97fSAlfred Perlstein.\"    notice(s), this list of conditions and the following disclaimer in the
13ffc0b97fSAlfred Perlstein.\"    documentation and/or other materials provided with the distribution.
14ffc0b97fSAlfred Perlstein.\"
15ffc0b97fSAlfred Perlstein.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
16ffc0b97fSAlfred Perlstein.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17ffc0b97fSAlfred Perlstein.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18ffc0b97fSAlfred Perlstein.\" DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
19ffc0b97fSAlfred Perlstein.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20ffc0b97fSAlfred Perlstein.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21ffc0b97fSAlfred Perlstein.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22ffc0b97fSAlfred Perlstein.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23ffc0b97fSAlfred Perlstein.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24ffc0b97fSAlfred Perlstein.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25ffc0b97fSAlfred Perlstein.\" DAMAGE.
26ffc0b97fSAlfred Perlstein.\"
27ffc0b97fSAlfred Perlstein.\" $FreeBSD$
28ffc0b97fSAlfred Perlstein.\"
29ffc0b97fSAlfred Perlstein.Dd November 21, 2001
30ffc0b97fSAlfred Perlstein.Dt VFS_GETNEWFSID 9
31ffc0b97fSAlfred Perlstein.Os
32ffc0b97fSAlfred Perlstein.Sh NAME
33ffc0b97fSAlfred Perlstein.Nm vfs_getnewfsid
341f620c2eSRuslan Ermilov.Nd "allocate a new file system identifier"
35ffc0b97fSAlfred Perlstein.Sh SYNOPSIS
36ffc0b97fSAlfred Perlstein.In sys/param.h
37ffc0b97fSAlfred Perlstein.In sys/mount.h
38ffc0b97fSAlfred Perlstein.Ft void
39ffc0b97fSAlfred Perlstein.Fn vfs_getnewfsid "struct mount *mp"
40ffc0b97fSAlfred Perlstein.Sh DESCRIPTION
41ffc0b97fSAlfred PerlsteinThe
42ffc0b97fSAlfred Perlstein.Fn vfs_getnewfsid
43ffc0b97fSAlfred Perlsteinfunction allocates a new file system identifier for the mount point given.
44ffc0b97fSAlfred PerlsteinFile systems typically call
45ffc0b97fSAlfred Perlstein.Fn vfs_getnewfsid
461f620c2eSRuslan Ermilovin their mount routine in order to acquire a unique ID within the system
47ffc0b97fSAlfred Perlsteinwhich can later be used to uniquely identify the file system via calls such as
481f620c2eSRuslan Ermilov.Xr vfs_getvfs 9 .
49ffc0b97fSAlfred Perlstein.Pp
501f620c2eSRuslan ErmilovThe actual
511f620c2eSRuslan Ermilov.Vt fsid
521f620c2eSRuslan Ermilovis made up of two 32 bit integers, that are stored in the
531f620c2eSRuslan Ermilov.Vt statfs
54ffc0b97fSAlfred Perlsteinstructure of
55ffc0b97fSAlfred Perlstein.Fa mp .
561f620c2eSRuslan ErmilovThe first integer is unique in the set of mounted file systems,
571f620c2eSRuslan Ermilovwhile the second holds the file system type.
58ffc0b97fSAlfred Perlstein.Bd -literal
59ffc0b97fSAlfred Perlsteintypedef	struct fsid {
60ffc0b97fSAlfred Perlstein	int32_t val[2];
61ffc0b97fSAlfred Perlstein} fsid_t;
62ffc0b97fSAlfred Perlstein.Ed
63ffc0b97fSAlfred Perlstein.Sh PSEUDOCODE
64ffc0b97fSAlfred Perlstein.Bd -literal
651f620c2eSRuslan Ermilovxxx_mount(struct mount *mp, char *path, caddr_t data,
661f620c2eSRuslan Ermilov	struct nameidata *ndp, struct thread *td)
67ffc0b97fSAlfred Perlstein{
68ffc0b97fSAlfred Perlstein	...
69ffc0b97fSAlfred Perlstein	vfs_getnewfsid(mp);
70ffc0b97fSAlfred Perlstein	...
71ffc0b97fSAlfred Perlstein}
72ffc0b97fSAlfred Perlstein.Ed
73ffc0b97fSAlfred Perlstein.Sh SEE ALSO
74ffc0b97fSAlfred Perlstein.Xr vfs_getvfs 9
75ffc0b97fSAlfred Perlstein.Sh AUTHORS
7609356c84SHiten PandyaThis manual page was written by
77ffc0b97fSAlfred Perlstein.An Chad David Aq davidc@acns.ab.ca .
78