欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 全志Android8, Android 10限制存储500M问题

全志Android8, Android 10限制存储500M问题

2025/2/24 3:21:46 来源:https://blog.csdn.net/qixi0616/article/details/141200120  浏览:    关键词:全志Android8, Android 10限制存储500M问题

Android 系统内部默认会以500M或5%, 但是如果仅修改这里, 是没办法改变最低存储空间值的. 

全志的/data/ 分区默认是500M, 写在内核中, 代码如下.

core/java/android/os/storage/StorageManager.java/**  * Returns list of paths for all mountable volumes.* @hide*/@Deprecated@UnsupportedAppUsagepublic @NonNull String[] getVolumePaths() {StorageVolume[] volumes = getVolumeList();int count = volumes.length;String[] paths = new String[count];for (int i = 0; i < count; i++) {paths[i] = volumes[i].getPath();}return paths;}    /** @removed */public @NonNull StorageVolume getPrimaryVolume() {return getPrimaryVolume(getVolumeList());}    /** {@hide} */public static @NonNull StorageVolume getPrimaryVolume(StorageVolume[] volumes) {for (StorageVolume volume : volumes) {if (volume.isPrimary()) {return volume;}}throw new IllegalStateException("Missing primary storage");}    private static final int DEFAULT_THRESHOLD_PERCENTAGE = 5; private static final long DEFAULT_THRESHOLD_MAX_BYTES = DataUnit.MEBIBYTES.toBytes(110);private static final int DEFAULT_CACHE_PERCENTAGE = 10;private static final long DEFAULT_CACHE_MAX_BYTES = DataUnit.GIBIBYTES.toBytes(5);private static final long DEFAULT_FULL_THRESHOLD_BYTES = DataUnit.MEBIBYTES.toBytes(1);diff --git a/kernel/linux-4.9/fs/quota/dquot.c b/kernel/linux-4.9/fs/quota/dquot.c
index 1b610332f..0c04325de 100644
--- a/kernel/linux-4.9/fs/quota/dquot.c
+++ b/kernel/linux-4.9/fs/quota/dquot.c
@@ -1319,7 +1319,7 @@ static int check_bdq(struct dquot *dquot, qsize_t space, int prealloc,qsize_t tspace;struct super_block *sb = dquot->dq_sb;qsize_t free_space = sb->dq_op->get_sb_free_space(sb);
-       qsize_t brsvlimit = 128000;
+       qsize_t brsvlimit = 25600; //100M  128000 = 500M;qsize_t uidlimit = 10000;const struct cred *cred = current_cred();diff --git a/kernel/linux-4.9/fs/sdcardfs/sdcardfs.h b/kernel/linux-4.9/fs/sdcardfs/sdcardfs.h
index fc6b3b715..620647275 100644
--- a/kernel/linux-4.9/fs/sdcardfs/sdcardfs.h
+++ b/kernel/linux-4.9/fs/sdcardfs/sdcardfs.h
@@ -606,7 +606,8 @@ static inline int check_min_free_space(struct dentry *dentry, size_t size, int dif ((u64)size > avail)return 0;-       if (((avail - size) < (500 * 1024 * 1024)) && (cred->uid.val > 10000))
+       //if (((avail - size) < (500 * 1024 * 1024)) && (cred->uid.val > 10000))
+       if (((avail - size) < (100 * 1024 * 1024)) && (cred->uid.val > 10000))

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词