* Added a flag B_DISK_SYSTEM_SUPPORTS_WRITING to determine whether or not a

file system can write to files before mounting.
* Set the flag for all file systems that actually can write.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28055 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2008-10-13 22:32:27 +00:00
parent c7cf16883e
commit 057f999da6
7 changed files with 290 additions and 285 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2003-2006, Haiku, Inc. All Rights Reserved. * Copyright 2003-2008, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
*/ */
#ifndef _DISK_DEVICE_DEFS_H #ifndef _DISK_DEVICE_DEFS_H
@ -88,6 +88,7 @@ enum {
B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED = 0x020000, B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED = 0x020000,
B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED = 0x040000, B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED = 0x040000,
B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED = 0x080000, B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED = 0x080000,
B_DISK_SYSTEM_SUPPORTS_WRITING = 0x100000,
// partitioning system specific flags // partitioning system specific flags
B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD = 0x001000, B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD = 0x001000,

View File

@ -243,6 +243,7 @@
#define B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED #define B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED
#define B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED #define B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED
#define B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED #define B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED
#define B_DISK_SYSTEM_SUPPORTS_WRITING FSSH_B_DISK_SYSTEM_SUPPORTS_WRITING
// partitioning system specific flags // partitioning system specific flags
#define B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD FSSH_B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD #define B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD FSSH_B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD

View File

@ -88,6 +88,7 @@ enum {
FSSH_B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED = 0x020000, FSSH_B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED = 0x020000,
FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED = 0x040000, FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED = 0x040000,
FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED = 0x080000, FSSH_B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED = 0x080000,
FSSH_B_DISK_SYSTEM_SUPPORTS_WRITING = 0x100000,
// partitioning system specific flags // partitioning system specific flags
FSSH_B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD = 0x001000, FSSH_B_DISK_SYSTEM_SUPPORTS_RESIZING_CHILD = 0x001000,

View File

@ -2118,7 +2118,8 @@ bfs_get_supported_operations(partition_data* partition, uint32 mask)
{ {
// TODO: We should at least check the partition size. // TODO: We should at least check the partition size.
return B_DISK_SYSTEM_SUPPORTS_INITIALIZING return B_DISK_SYSTEM_SUPPORTS_INITIALIZING
| B_DISK_SYSTEM_SUPPORTS_CONTENT_NAME; | B_DISK_SYSTEM_SUPPORTS_CONTENT_NAME
| B_DISK_SYSTEM_SUPPORTS_WRITING;
} }
@ -2327,6 +2328,7 @@ static file_system_module_info sBeFileSystem = {
// | B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED // | B_DISK_SYSTEM_SUPPORTS_MOVING_WHILE_MOUNTED
// | B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED // | B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_NAME_WHILE_MOUNTED
// | B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED // | B_DISK_SYSTEM_SUPPORTS_SETTING_CONTENT_PARAMETERS_WHILE_MOUNTED
| B_DISK_SYSTEM_SUPPORTS_WRITING
, ,
// scanning // scanning

View File

@ -1338,7 +1338,7 @@ static file_system_module_info sFATFileSystem = {
"fat", // short_name "fat", // short_name
"FAT32 File System", // pretty_name "FAT32 File System", // pretty_name
0, // DDM flags B_DISK_SYSTEM_SUPPORTS_WRITING, // DDM flags
// scanning // scanning
dosfs_identify_partition, dosfs_identify_partition,

File diff suppressed because it is too large Load Diff

View File

@ -2071,7 +2071,7 @@ static file_system_module_info sRamFSModuleInfo = {
"ramfs", // short_name "ramfs", // short_name
"RAM File System", // pretty_name "RAM File System", // pretty_name
0, // DDM flags B_DISK_SYSTEM_SUPPORTS_WRITING, // DDM flags
// scanning // scanning
NULL, // identify_partition() NULL, // identify_partition()