Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1947)

Unified Diff: base/file_util_linux.cc

Issue 147513003: Linux: Use FS magic values in magic.h in file_util::GetFileSystemType(). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/file_util_linux.cc
===================================================================
--- base/file_util_linux.cc (revision 248111)
+++ base/file_util_linux.cc (working copy)
@@ -4,11 +4,12 @@
#include "base/file_util.h"
-#include "base/files/file_path.h"
-
#include <errno.h>
+#include <linux/magic.h>
#include <sys/vfs.h>
+#include "base/files/file_path.h"
+
namespace file_util {
bool GetFileSystemType(const base::FilePath& path, FileSystemType* type) {
@@ -20,37 +21,36 @@
return true;
}
- // While you would think the possible values of f_type would be available
- // in a header somewhere, it appears that is not the case. These values
- // are copied from the statfs man page.
+ // Not all possible |statfs_buf.f_type| values are in linux/magic.h.
+ // Missing values are copied from the statfs man page.
switch (statfs_buf.f_type) {
case 0:
*type = FILE_SYSTEM_0;
break;
- case 0xEF53: // ext2, ext3.
- case 0x4D44: // dos
- case 0x5346544E: // NFTS
- case 0x52654973: // reiser
+ case EXT2_SUPER_MAGIC: // Also ext3 and ext4
+ case MSDOS_SUPER_MAGIC:
+ case REISERFS_SUPER_MAGIC:
+ case BTRFS_SUPER_MAGIC:
+ case 0x5346544E: // NTFS
case 0x58465342: // XFS
- case 0x9123683E: // btrfs
case 0x3153464A: // JFS
*type = FILE_SYSTEM_ORDINARY;
break;
- case 0x6969: // NFS
+ case NFS_SUPER_MAGIC:
*type = FILE_SYSTEM_NFS;
break;
+ case SMB_SUPER_MAGIC:
case 0xFF534D42: // CIFS
- case 0x517B: // SMB
*type = FILE_SYSTEM_SMB;
break;
- case 0x73757245: // Coda
+ case CODA_SUPER_MAGIC:
*type = FILE_SYSTEM_CODA;
break;
- case 0x858458f6: // ramfs
- case 0x01021994: // tmpfs
+ case HUGETLBFS_MAGIC: // AKA ramfs
+ case TMPFS_MAGIC:
*type = FILE_SYSTEM_MEMORY;
break;
- case 0x27e0eb: // CGROUP
+ case CGROUP_SUPER_MAGIC:
*type = FILE_SYSTEM_CGROUP;
break;
default:
@@ -59,4 +59,4 @@
return true;
}
-} // namespace
+} // namespace file_util
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698