xref: /freebsd/lib/libufs/ufs_disk_close.3 (revision 2b7af31cf5e70677f52214702a95d4225564c52d)
1e78ea9f7SJuli Mallett.\" Author:	Juli Mallett <jmallett@FreeBSD.org>
2e78ea9f7SJuli Mallett.\" Date:	June 04, 2003
3e78ea9f7SJuli Mallett.\" Description:
4e78ea9f7SJuli Mallett.\" 	Manual page for libufs functions:
5e78ea9f7SJuli Mallett.\"		ufs_disk_close(3)
6e78ea9f7SJuli Mallett.\"		ufs_disk_fillout(3)
7e78ea9f7SJuli Mallett.\"		ufs_disk_fillout_blank(3)
8e78ea9f7SJuli Mallett.\"		ufs_disk_write(3)
9e78ea9f7SJuli Mallett.\"
1027fd7478SJuli Mallett.\" This file is in the public domain.
1127fd7478SJuli Mallett.\"
12e78ea9f7SJuli Mallett.\" $FreeBSD$
13e78ea9f7SJuli Mallett.\"
144b6c8c64SRuslan Ermilov.Dd June 4, 2003
15e78ea9f7SJuli Mallett.Dt UFS_DISK_CLOSE 3
16e78ea9f7SJuli Mallett.Os
17e78ea9f7SJuli Mallett.Sh NAME
18e78ea9f7SJuli Mallett.Nm ufs_disk_close , ufs_disk_fillout , ufs_disk_fillout_blank, ufs_disk_write
19e78ea9f7SJuli Mallett.Nd open and close userland UFS disks
20e78ea9f7SJuli Mallett.Sh LIBRARY
21e78ea9f7SJuli Mallett.Lb libufs
22e78ea9f7SJuli Mallett.Sh SYNOPSIS
23e78ea9f7SJuli Mallett.In sys/param.h
24e78ea9f7SJuli Mallett.In sys/mount.h
25e78ea9f7SJuli Mallett.In ufs/ufs/ufsmount.h
26e78ea9f7SJuli Mallett.In ufs/ufs/dinode.h
27e78ea9f7SJuli Mallett.In ufs/ffs/fs.h
28e78ea9f7SJuli Mallett.In libufs.h
29e78ea9f7SJuli Mallett.Ft int
30e78ea9f7SJuli Mallett.Fn ufs_disk_close "struct uufsd *disk"
31e78ea9f7SJuli Mallett.Ft int
32e78ea9f7SJuli Mallett.Fn ufs_disk_fillout "struct uufsd *disk" "const char *name"
33e78ea9f7SJuli Mallett.Ft int
34e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank "struct uufsd *disk" "const char *name"
35e78ea9f7SJuli Mallett.Ft int
36e78ea9f7SJuli Mallett.Fn ufs_disk_write "struct uufsd *disk"
37e78ea9f7SJuli Mallett.Sh DESCRIPTION
38e78ea9f7SJuli MallettThe
39e78ea9f7SJuli Mallett.Fn ufs_disk_close
40e78ea9f7SJuli Mallettfunction closes a disk and frees internal memory related to it.
41e78ea9f7SJuli MallettIt does not free the
42e78ea9f7SJuli Mallett.Fa disk
43e78ea9f7SJuli Mallettstructure.
44e78ea9f7SJuli Mallett.Pp
45e78ea9f7SJuli MallettThe
46e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
47e78ea9f7SJuli Mallettand
48e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
49e78ea9f7SJuli Mallettfunctions open a disk specified by
50e78ea9f7SJuli Mallett.Fa name
51e78ea9f7SJuli Mallettand populate the structure pointed to by
52e78ea9f7SJuli Mallett.Fa disk .
53e78ea9f7SJuli MallettThe disk is opened read-only.
54e78ea9f7SJuli MallettThe specified
55e78ea9f7SJuli Mallett.Fa name
56990b6d05SJuli Mallettmay be either a mountpoint, a device name or a filesystem image.
57e78ea9f7SJuli MallettThe
58e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
59e78ea9f7SJuli Mallettfunction assumes there is a valid superblock and will fail if not,
60e78ea9f7SJuli Mallettwhereas the
61e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
62e78ea9f7SJuli Mallettfunction makes no assumptions of that sort.
63e78ea9f7SJuli Mallett.Pp
64e78ea9f7SJuli MallettThe
65e78ea9f7SJuli Mallett.Fn ufs_disk_write
66e78ea9f7SJuli Mallettfunction attempts to re-open a disk as writable if it is not currently.
67e78ea9f7SJuli Mallett.Sh ERRORS
68e78ea9f7SJuli MallettThe function
69e78ea9f7SJuli Mallett.Fn ufs_disk_close
70e78ea9f7SJuli Malletthas no failure points.
71e78ea9f7SJuli Mallett.Pp
72e78ea9f7SJuli MallettThe function
73e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
74e78ea9f7SJuli Mallettmay fail for any of the reasons
75e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
76e78ea9f7SJuli Mallettmight, as well as for any reason
77e78ea9f7SJuli Mallett.Xr sbread 3
78e78ea9f7SJuli Mallettmight.
79e78ea9f7SJuli Mallett.Pp
80e78ea9f7SJuli MallettThe
81e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
82e78ea9f7SJuli Mallettmay fail and set
83e78ea9f7SJuli Mallett.Va errno
84e78ea9f7SJuli Mallettfor any of the errors specified for the library functions
85e78ea9f7SJuli Mallett.Xr open 2 ,
86dfa13bbfSJuli Mallett.Xr strdup 3 .
87e78ea9f7SJuli MallettAdditionally, it may follow the
88e78ea9f7SJuli Mallett.Xr libufs 3
89e78ea9f7SJuli Malletterror methodologies in situations where no device could be found to
90e78ea9f7SJuli Mallettopen.
91e78ea9f7SJuli Mallett.Pp
92e78ea9f7SJuli MallettThe function
93e78ea9f7SJuli Mallett.Fn ufs_disk_write
94e78ea9f7SJuli Mallettmay fail and set
95e78ea9f7SJuli Mallett.Va errno
96e78ea9f7SJuli Mallettfor any of the errors specified for the library functions
975c8e5f24SRuslan Ermilov.Xr open 2
98e78ea9f7SJuli Mallettand
995c8e5f24SRuslan Ermilov.Xr stat 2 .
100e78ea9f7SJuli MallettNamely, it will fail if the disk in question may not be written to.
101e78ea9f7SJuli Mallett.Sh SEE ALSO
1025c8e5f24SRuslan Ermilov.Xr open 2 ,
103e78ea9f7SJuli Mallett.Xr getfsfile 3 ,
104e78ea9f7SJuli Mallett.Xr libufs 3 ,
105e78ea9f7SJuli Mallett.Xr sbread 3
106e78ea9f7SJuli Mallett.Sh HISTORY
107e78ea9f7SJuli MallettThese functions first appeared as part of
108e78ea9f7SJuli Mallett.Xr libufs 3
109e78ea9f7SJuli Mallettin
110e78ea9f7SJuli Mallett.Fx 5.0 .
111e78ea9f7SJuli Mallett.Sh AUTHORS
112*2b7af31cSBaptiste Daroussin.An Juli Mallett Aq Mt jmallett@FreeBSD.org
113