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