Add QStorageInfo::blockSize
[ChangeLog][QtCore][QStorageInfo] Added QStorageInfo::blockSize(), which returns the optimal block size for data transfer to and from the storage. Change-Id: Ib306f8f647014b399b87ffff13f4eba6000452d4 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com>
This commit is contained in:
parent
62bd4f5852
commit
cc7fcecd7a
@ -221,6 +221,18 @@ qint64 QStorageInfo::bytesTotal() const
|
||||
return d->bytesTotal;
|
||||
}
|
||||
|
||||
/*!
|
||||
\since 5.6
|
||||
Returns the optimal transfer block size for this filesystem.
|
||||
|
||||
Returns -1 if QStorageInfo could not determine the size or if the QStorageInfo
|
||||
object is not valid.
|
||||
*/
|
||||
int QStorageInfo::blockSize() const
|
||||
{
|
||||
return d->blockSize;
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns the type name of the filesystem.
|
||||
|
||||
|
@ -72,6 +72,7 @@ public:
|
||||
qint64 bytesTotal() const;
|
||||
qint64 bytesFree() const;
|
||||
qint64 bytesAvailable() const;
|
||||
int blockSize() const;
|
||||
|
||||
inline bool isRoot() const;
|
||||
bool isReadOnly() const;
|
||||
|
@ -76,6 +76,7 @@ void QStorageInfoPrivate::retrievePosixInfo()
|
||||
device = QByteArray(statfs_buf.f_mntfromname);
|
||||
readOnly = (statfs_buf.f_flags & MNT_RDONLY) != 0;
|
||||
fileSystemType = QByteArray(statfs_buf.f_fstypename);
|
||||
blockSize = statfs_buf.f_bsize;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ class QStorageInfoPrivate : public QSharedData
|
||||
{
|
||||
public:
|
||||
inline QStorageInfoPrivate() : QSharedData(),
|
||||
bytesTotal(-1), bytesFree(-1), bytesAvailable(-1),
|
||||
bytesTotal(-1), bytesFree(-1), bytesAvailable(-1), blockSize(-1),
|
||||
readOnly(false), ready(false), valid(false)
|
||||
{}
|
||||
|
||||
@ -84,6 +84,7 @@ public:
|
||||
qint64 bytesTotal;
|
||||
qint64 bytesFree;
|
||||
qint64 bytesAvailable;
|
||||
int blockSize;
|
||||
|
||||
bool readOnly;
|
||||
bool ready;
|
||||
|
@ -510,6 +510,7 @@ void QStorageInfoPrivate::retrieveVolumeInfo()
|
||||
bytesTotal = statfs_buf.f_blocks * statfs_buf.f_bsize;
|
||||
bytesFree = statfs_buf.f_bfree * statfs_buf.f_bsize;
|
||||
bytesAvailable = statfs_buf.f_bavail * statfs_buf.f_bsize;
|
||||
blockSize = statfs_buf.f_bsize;
|
||||
#if defined(Q_OS_ANDROID) || defined (Q_OS_BSD4)
|
||||
#if defined(_STATFS_F_FLAGS)
|
||||
readOnly = (statfs_buf.f_flags & ST_RDONLY) != 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user