From 6d14aa1a4bfbb47930138cebdc1d417d41e6201f Mon Sep 17 00:00:00 2001 From: Tyler Dauwalder Date: Tue, 9 Sep 2003 06:21:25 +0000 Subject: [PATCH] Fixed bug that disallowed mounting a UDF volume in a regular file. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4601 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/udf/udf.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/udf/udf.cpp b/src/add-ons/kernel/file_systems/udf/udf.cpp index 3bc58e44a3..d65ac815e2 100644 --- a/src/add-ons/kernel/file_systems/udf/udf.cpp +++ b/src/add-ons/kernel/file_systems/udf/udf.cpp @@ -8,7 +8,7 @@ // code :-P). //--------------------------------------------------------------------- -/*! \file vfs_interface.cpp +/*! \file udf.cpp */ #include "UdfDebug.h" @@ -254,9 +254,15 @@ udf_mount(nspace_id nsid, const char *deviceName, ulong flags, void *parms, deviceSize = (off_t)geometry.sectors_per_track * geometry.cylinder_count * geometry.head_count; } else { - err = errno; + struct stat stat; + err = fstat(device, &stat) < 0 ? B_ERROR : B_OK; + if (!err) { + deviceSize = stat.st_size / 2048; + } } } + + // Create and mount the volume if (!err) {