svn commit: r194030 - head/lib/libufs
Juli Mallett
jmallett at FreeBSD.org
Thu Jun 11 18:04:58 UTC 2009
Author: jmallett
Date: Thu Jun 11 18:04:57 2009
New Revision: 194030
URL: http://svn.freebsd.org/changeset/base/194030
Log:
Allow libufs(3) functions to operate on a regular file. This makes it possible to
use almost anything that uses libufs(3) against a file as an unprivileged user, e.g.
tunefs(8) and dumpfs(8) against a makefs(8)-created image.
Prodded by: kensmith
Modified:
head/lib/libufs/type.c
head/lib/libufs/ufs_disk_close.3
Modified: head/lib/libufs/type.c
==============================================================================
--- head/lib/libufs/type.c Thu Jun 11 17:42:02 2009 (r194029)
+++ head/lib/libufs/type.c Thu Jun 11 18:04:57 2009 (r194030)
@@ -108,7 +108,10 @@ again: if ((ret = stat(name, &st)) < 0)
*/
name = oname;
}
- if (ret >= 0 && S_ISCHR(st.st_mode)) {
+ if (ret >= 0 && S_ISREG(st.st_mode)) {
+ /* Possibly a disk image, give it a try. */
+ ;
+ } else if (ret >= 0 && S_ISCHR(st.st_mode)) {
/* This is what we need, do nothing. */
;
} else if ((fs = getfsfile(name)) != NULL) {
Modified: head/lib/libufs/ufs_disk_close.3
==============================================================================
--- head/lib/libufs/ufs_disk_close.3 Thu Jun 11 17:42:02 2009 (r194029)
+++ head/lib/libufs/ufs_disk_close.3 Thu Jun 11 18:04:57 2009 (r194030)
@@ -53,7 +53,7 @@ and populate the structure pointed to by
The disk is opened read-only.
The specified
.Fa name
-may be either a mountpoint, or a device name.
+may be either a mountpoint, a device name or a filesystem image.
The
.Fn ufs_disk_fillout
function assumes there is a valid superblock and will fail if not,
More information about the svn-src-head
mailing list