Add basic support for F2FS.
This commit is contained in:
parent
d9f87b1031
commit
dc75c7a11f
|
@ -23,10 +23,10 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
|
||||||
set(QT_MIN_VERSION "5.3.0")
|
set(QT_MIN_VERSION "5.3.0")
|
||||||
set(VERSION_MAJOR "2")
|
set(VERSION_MAJOR "2")
|
||||||
set(VERSION_MINOR "0")
|
set(VERSION_MINOR "0")
|
||||||
set(VERSION_RELEASE "2")
|
set(VERSION_RELEASE "50")
|
||||||
set(VERSION_SUFFIX "")
|
set(VERSION_SUFFIX "")
|
||||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}${VERSION_SUFFIX})
|
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}${VERSION_SUFFIX})
|
||||||
set(SOVERSION "1")
|
set(SOVERSION "2")
|
||||||
add_definitions(-D'VERSION="${VERSION}"') #"
|
add_definitions(-D'VERSION="${VERSION}"') #"
|
||||||
|
|
||||||
find_package(ECM 1.0.0 REQUIRED NO_MODULE)
|
find_package(ECM 1.0.0 REQUIRED NO_MODULE)
|
||||||
|
|
|
@ -1,31 +1,32 @@
|
||||||
set(FS_SRC
|
set(FS_SRC
|
||||||
|
fs/btrfs.cpp
|
||||||
|
fs/exfat.cpp
|
||||||
|
fs/ext2.cpp
|
||||||
|
fs/ext3.cpp
|
||||||
|
fs/ext4.cpp
|
||||||
|
fs/extended.cpp
|
||||||
|
fs/f2fs.cpp
|
||||||
|
fs/fat16.cpp
|
||||||
fs/fat32.cpp
|
fs/fat32.cpp
|
||||||
fs/filesystem.cpp
|
fs/filesystem.cpp
|
||||||
fs/hfs.cpp
|
|
||||||
fs/nilfs2.cpp
|
|
||||||
fs/unknown.cpp
|
|
||||||
fs/linuxswap.cpp
|
|
||||||
fs/hfsplus.cpp
|
|
||||||
fs/ext3.cpp
|
|
||||||
fs/hpfs.cpp
|
|
||||||
fs/unformatted.cpp
|
|
||||||
fs/luks.cpp
|
|
||||||
fs/btrfs.cpp
|
|
||||||
fs/ufs.cpp
|
|
||||||
fs/reiserfs.cpp
|
|
||||||
fs/exfat.cpp
|
|
||||||
fs/filesystemfactory.cpp
|
fs/filesystemfactory.cpp
|
||||||
fs/lvm2_pv.cpp
|
fs/hfs.cpp
|
||||||
fs/reiser4.cpp
|
fs/hfsplus.cpp
|
||||||
fs/ext2.cpp
|
fs/hpfs.cpp
|
||||||
fs/jfs.cpp
|
fs/jfs.cpp
|
||||||
|
fs/linuxswap.cpp
|
||||||
|
fs/luks.cpp
|
||||||
|
fs/lvm2_pv.cpp
|
||||||
|
fs/nilfs2.cpp
|
||||||
fs/ntfs.cpp
|
fs/ntfs.cpp
|
||||||
fs/fat16.cpp
|
|
||||||
fs/ext4.cpp
|
|
||||||
fs/xfs.cpp
|
|
||||||
fs/extended.cpp
|
|
||||||
fs/zfs.cpp
|
|
||||||
fs/ocfs2.cpp
|
fs/ocfs2.cpp
|
||||||
|
fs/reiser4.cpp
|
||||||
|
fs/reiserfs.cpp
|
||||||
|
fs/ufs.cpp
|
||||||
|
fs/unformatted.cpp
|
||||||
|
fs/unknown.cpp
|
||||||
|
fs/xfs.cpp
|
||||||
|
fs/zfs.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(FS_LIB_HDRS
|
set(FS_LIB_HDRS
|
||||||
|
@ -35,6 +36,7 @@ set(FS_LIB_HDRS
|
||||||
fs/ext3.h
|
fs/ext3.h
|
||||||
fs/ext4.h
|
fs/ext4.h
|
||||||
fs/extended.h
|
fs/extended.h
|
||||||
|
fs/f2fs.h
|
||||||
fs/fat16.h
|
fs/fat16.h
|
||||||
fs/fat32.h
|
fs/fat32.h
|
||||||
fs/filesystem.h
|
fs/filesystem.h
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
@ -32,7 +33,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** A btrfs file system.
|
/** A btrfs file system.
|
||||||
@author Volker Lanz <vl@fidra.de>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT btrfs : public FileSystem
|
class LIBKPMCORE_EXPORT btrfs : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
|
|
@ -32,7 +32,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** An exfat file system.
|
/** An exfat file system.
|
||||||
@author Volker Lanz <vl@fidra.de>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT exfat : public FileSystem
|
class LIBKPMCORE_EXPORT exfat : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,7 +50,8 @@ const std::array< QColor, FileSystem::__lastType > FileSystem::defaultColorCode
|
||||||
QColor( 33,137,108 ),
|
QColor( 33,137,108 ),
|
||||||
QColor( 250,230,255 ),
|
QColor( 250,230,255 ),
|
||||||
QColor( 242,155,104 ),
|
QColor( 242,155,104 ),
|
||||||
QColor( 160,210,180 )
|
QColor( 160,210,180 ),
|
||||||
|
QColor( 255,170,0 )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -318,6 +319,7 @@ static const QString* typeNames()
|
||||||
i18nc("@item filesystem name", "exfat"),
|
i18nc("@item filesystem name", "exfat"),
|
||||||
i18nc("@item filesystem name", "nilfs2"),
|
i18nc("@item filesystem name", "nilfs2"),
|
||||||
i18nc("@item filesystem name", "lvm2 pv"),
|
i18nc("@item filesystem name", "lvm2 pv"),
|
||||||
|
i18nc("@item filesystem name", "f2fs"),
|
||||||
};
|
};
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|
|
@ -81,8 +81,9 @@ public:
|
||||||
Exfat = 22,
|
Exfat = 22,
|
||||||
Nilfs2 = 23,
|
Nilfs2 = 23,
|
||||||
Lvm2_PV = 24,
|
Lvm2_PV = 24,
|
||||||
|
F2fs = 25,
|
||||||
|
|
||||||
__lastType = 25
|
__lastType = 26
|
||||||
};
|
};
|
||||||
|
|
||||||
/** The type of support for a given FileSystem action */
|
/** The type of support for a given FileSystem action */
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "fs/ext3.h"
|
#include "fs/ext3.h"
|
||||||
#include "fs/ext4.h"
|
#include "fs/ext4.h"
|
||||||
#include "fs/extended.h"
|
#include "fs/extended.h"
|
||||||
|
#include "fs/f2fs.h"
|
||||||
#include "fs/fat16.h"
|
#include "fs/fat16.h"
|
||||||
#include "fs/fat32.h"
|
#include "fs/fat32.h"
|
||||||
#include "fs/hfs.h"
|
#include "fs/hfs.h"
|
||||||
|
@ -61,6 +62,7 @@ void FileSystemFactory::init()
|
||||||
m_FileSystems.insert(FileSystem::Ext3, new FS::ext3(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Ext3, new FS::ext3(-1, -1, -1, QString()));
|
||||||
m_FileSystems.insert(FileSystem::Ext4, new FS::ext4(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Ext4, new FS::ext4(-1, -1, -1, QString()));
|
||||||
m_FileSystems.insert(FileSystem::Extended, new FS::extended(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Extended, new FS::extended(-1, -1, -1, QString()));
|
||||||
|
m_FileSystems.insert(FileSystem::F2fs, new FS::f2fs(-1, -1, -1, QString()));
|
||||||
m_FileSystems.insert(FileSystem::Fat16, new FS::fat16(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Fat16, new FS::fat16(-1, -1, -1, QString()));
|
||||||
m_FileSystems.insert(FileSystem::Fat32, new FS::fat32(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Fat32, new FS::fat32(-1, -1, -1, QString()));
|
||||||
m_FileSystems.insert(FileSystem::Hfs, new FS::hfs(-1, -1, -1, QString()));
|
m_FileSystems.insert(FileSystem::Hfs, new FS::hfs(-1, -1, -1, QString()));
|
||||||
|
@ -87,6 +89,7 @@ void FileSystemFactory::init()
|
||||||
FS::ext3::init();
|
FS::ext3::init();
|
||||||
FS::ext4::init();
|
FS::ext4::init();
|
||||||
FS::extended::init();
|
FS::extended::init();
|
||||||
|
FS::f2fs::init();
|
||||||
FS::fat16::init();
|
FS::fat16::init();
|
||||||
FS::fat32::init();
|
FS::fat32::init();
|
||||||
FS::hfs::init();
|
FS::hfs::init();
|
||||||
|
@ -129,6 +132,7 @@ FileSystem* FileSystemFactory::create(FileSystem::Type t, qint64 firstsector, qi
|
||||||
case FileSystem::Ext3: fs = new FS::ext3(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Ext3: fs = new FS::ext3(firstsector, lastsector, sectorsused, label); break;
|
||||||
case FileSystem::Ext4: fs = new FS::ext4(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Ext4: fs = new FS::ext4(firstsector, lastsector, sectorsused, label); break;
|
||||||
case FileSystem::Extended: fs = new FS::extended(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Extended: fs = new FS::extended(firstsector, lastsector, sectorsused, label); break;
|
||||||
|
case FileSystem::F2fs: fs = new FS::f2fs(firstsector, lastsector, sectorsused, label); break;
|
||||||
case FileSystem::Fat16: fs = new FS::fat16(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Fat16: fs = new FS::fat16(firstsector, lastsector, sectorsused, label); break;
|
||||||
case FileSystem::Fat32: fs = new FS::fat32(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Fat32: fs = new FS::fat32(firstsector, lastsector, sectorsused, label); break;
|
||||||
case FileSystem::Hfs: fs = new FS::hfs(firstsector, lastsector, sectorsused, label); break;
|
case FileSystem::Hfs: fs = new FS::hfs(firstsector, lastsector, sectorsused, label); break;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2013 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
@ -32,7 +33,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** A LUKS crypto file system.
|
/** A LUKS crypto file system.
|
||||||
@author Volker Lanz <vl@fidra.de>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT luks : public FileSystem
|
class LIBKPMCORE_EXPORT luks : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
@ -32,7 +33,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** LVM2 physical volume.
|
/** LVM2 physical volume.
|
||||||
@author Andrius Štikonas <stikonas@gmail.com>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT lvm2_pv : public FileSystem
|
class LIBKPMCORE_EXPORT lvm2_pv : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2012 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
@ -32,7 +33,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** A nilfs2 file system.
|
/** A nilfs2 file system.
|
||||||
@author Volker Lanz <vl@fidra.de>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT nilfs2 : public FileSystem
|
class LIBKPMCORE_EXPORT nilfs2 : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2010 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2010 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Copyright (C) 2010 by Volker Lanz <vl@fidra.de> *
|
* Copyright (C) 2010 by Volker Lanz <vl@fidra.de> *
|
||||||
|
* Copyright (C) 2016 by Andrius Štikonas <andrius@stikonas.eu> *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
|
@ -32,7 +33,7 @@ class QString;
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
/** A zfs file system.
|
/** A zfs file system.
|
||||||
@author Volker Lanz <vl@fidra.de>
|
@author Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*/
|
*/
|
||||||
class LIBKPMCORE_EXPORT zfs : public FileSystem
|
class LIBKPMCORE_EXPORT zfs : public FileSystem
|
||||||
{
|
{
|
||||||
|
|
|
@ -513,6 +513,7 @@ FileSystem::Type LibPartedBackend::detectFileSystem(PedPartition* pedPartition)
|
||||||
else if (s == QStringLiteral("exfat")) rval = FileSystem::Exfat;
|
else if (s == QStringLiteral("exfat")) rval = FileSystem::Exfat;
|
||||||
else if (s == QStringLiteral("nilfs2")) rval = FileSystem::Nilfs2;
|
else if (s == QStringLiteral("nilfs2")) rval = FileSystem::Nilfs2;
|
||||||
else if (s == QStringLiteral("LVM2_member")) rval = FileSystem::Lvm2_PV;
|
else if (s == QStringLiteral("LVM2_member")) rval = FileSystem::Lvm2_PV;
|
||||||
|
else if (s == QStringLiteral("f2fs")) rval = FileSystem::F2fs;
|
||||||
else
|
else
|
||||||
qWarning() << "blkid: unknown file system type " << s << " on " << pedPath;
|
qWarning() << "blkid: unknown file system type " << s << " on " << pedPath;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue