xref: /freebsd/lib/libufs/ufs_disk_close.3 (revision dfa13bbf277b5494efc35a41f73ce0052c2c079a)
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.\"
14e78ea9f7SJuli Mallett.Dd June 04, 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/types.h
24e78ea9f7SJuli Mallett.In sys/param.h
25e78ea9f7SJuli Mallett.In sys/mount.h
26e78ea9f7SJuli Mallett.In ufs/ufs/ufsmount.h
27e78ea9f7SJuli Mallett.In ufs/ufs/dinode.h
28e78ea9f7SJuli Mallett.In ufs/ffs/fs.h
29e78ea9f7SJuli Mallett.In libufs.h
30e78ea9f7SJuli Mallett.Ft int
31e78ea9f7SJuli Mallett.Fn ufs_disk_close "struct uufsd *disk"
32e78ea9f7SJuli Mallett.Ft int
33e78ea9f7SJuli Mallett.Fn ufs_disk_fillout "struct uufsd *disk" "const char *name"
34e78ea9f7SJuli Mallett.Ft int
35e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank "struct uufsd *disk" "const char *name"
36e78ea9f7SJuli Mallett.Ft int
37e78ea9f7SJuli Mallett.Fn ufs_disk_write "struct uufsd *disk"
38e78ea9f7SJuli Mallett.Sh DESCRIPTION
39e78ea9f7SJuli MallettThe
40e78ea9f7SJuli Mallett.Fn ufs_disk_close
41e78ea9f7SJuli Mallettfunction closes a disk and frees internal memory related to it.
42e78ea9f7SJuli MallettIt does not free the
43e78ea9f7SJuli Mallett.Fa disk
44e78ea9f7SJuli Mallettstructure.
45e78ea9f7SJuli Mallett.Pp
46e78ea9f7SJuli MallettThe
47e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
48e78ea9f7SJuli Mallettand
49e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
50e78ea9f7SJuli Mallettfunctions open a disk specified by
51e78ea9f7SJuli Mallett.Fa name
52e78ea9f7SJuli Mallettand populate the structure pointed to by
53e78ea9f7SJuli Mallett.Fa disk .
54e78ea9f7SJuli MallettThe disk is opened read-only.
55e78ea9f7SJuli MallettThe specified
56e78ea9f7SJuli Mallett.Fa name
57e78ea9f7SJuli Mallettmay be either a mountpoint, or a device name.
58e78ea9f7SJuli MallettThe
59e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
60e78ea9f7SJuli Mallettfunction assumes there is a valid superblock and will fail if not,
61e78ea9f7SJuli Mallettwhereas the
62e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
63e78ea9f7SJuli Mallettfunction makes no assumptions of that sort.
64e78ea9f7SJuli Mallett.Pp
65e78ea9f7SJuli MallettThe
66e78ea9f7SJuli Mallett.Fn ufs_disk_write
67e78ea9f7SJuli Mallettfunction attempts to re-open a disk as writable if it is not currently.
68e78ea9f7SJuli Mallett.Sh ERRORS
69e78ea9f7SJuli MallettThe function
70e78ea9f7SJuli Mallett.Fn ufs_disk_close
71e78ea9f7SJuli Malletthas no failure points.
72e78ea9f7SJuli Mallett.Pp
73e78ea9f7SJuli MallettThe function
74e78ea9f7SJuli Mallett.Fn ufs_disk_fillout
75e78ea9f7SJuli Mallettmay fail for any of the reasons
76e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
77e78ea9f7SJuli Mallettmight, as well as for any reason
78e78ea9f7SJuli Mallett.Xr sbread 3
79e78ea9f7SJuli Mallettmight.
80e78ea9f7SJuli Mallett.Pp
81e78ea9f7SJuli MallettThe
82e78ea9f7SJuli Mallett.Fn ufs_disk_fillout_blank
83e78ea9f7SJuli Mallettmay fail and set
84e78ea9f7SJuli Mallett.Va errno
85e78ea9f7SJuli Mallettfor any of the errors specified for the library functions
86e78ea9f7SJuli Mallett.Xr open 2 ,
87dfa13bbfSJuli Mallett.Xr strdup 3 .
88e78ea9f7SJuli MallettAdditionally, it may follow the
89e78ea9f7SJuli Mallett.Xr libufs 3
90e78ea9f7SJuli Malletterror methodologies in situations where no device could be found to
91e78ea9f7SJuli Mallettopen.
92e78ea9f7SJuli Mallett.Pp
93e78ea9f7SJuli MallettThe function
94e78ea9f7SJuli Mallett.Fn ufs_disk_write
95e78ea9f7SJuli Mallettmay fail and set
96e78ea9f7SJuli Mallett.Va errno
97e78ea9f7SJuli Mallettfor any of the errors specified for the library functions
98e78ea9f7SJuli Mallett.Xr open 3
99e78ea9f7SJuli Mallettand
100e78ea9f7SJuli Mallett.Xr stat 3 .
101e78ea9f7SJuli MallettNamely, it will fail if the disk in question may not be written to.
102e78ea9f7SJuli Mallett.Sh SEE ALSO
103e78ea9f7SJuli Mallett.Xr getfsfile 3 ,
104e78ea9f7SJuli Mallett.Xr libufs 3 ,
105e78ea9f7SJuli Mallett.Xr open 3 ,
106e78ea9f7SJuli Mallett.Xr sbread 3
107e78ea9f7SJuli Mallett.Sh HISTORY
108e78ea9f7SJuli MallettThese functions first appeared as part of
109e78ea9f7SJuli Mallett.Xr libufs 3
110e78ea9f7SJuli Mallettin
111e78ea9f7SJuli Mallett.Fx 5.0 .
112e78ea9f7SJuli Mallett.Sh AUTHORS
113e78ea9f7SJuli Mallett.An Juli Mallett Aq jmallett@FreeBSD.org
114