当前位置: 首页 > news >正文

日照市做网站百度游戏

日照市做网站,百度游戏,查看域名之前做的网站,南京百家湖网站建设转载时请注明出处和作者联系方式文章出处&#xff1a;http://www.limodev.cn/blog作者联系方式&#xff1a;李先静 <xianjimli at hotmail dot com>手机内置FLASH容量有限&#xff0c;在磁盘空间不足的情况下&#xff0c;应该提醒用户进行磁盘清理。这个处理在哪里做比较…

转载时请注明出处和作者联系方式
文章出处:http://www.limodev.cn/blog
作者联系方式:李先静 <xianjimli at hotmail dot com>

手机内置FLASH容量有限,在磁盘空间不足的情况下,应该提醒用户进行磁盘清理。这个处理在哪里做比较好呢?每次写入数据时由调用者检测显然是不合理的,因为处理的太多了,何况修改SQLITE等第三方程序也是不明智的,那样会给升级版本带来麻烦。比较好的办法是在文件系统中做处理,最近同事修改了yaffs2支持磁盘满通知功能。做法如下:

在yaffs_fs.c中:
#include <net/sock.h>
#include <linux/netlink.h>
#define DISK_FULL_MSG_SIZE  128
#define NETLINK_DISK_FULL   2
static struct sock * yaffs_sock;
在init_yaffs_fs中:
if((yaffs_sock = netlink_kernel_create(NETLINK_DISK_FULL, 1, NULL, THIS_MODULE)) == NULL)
{
printk(KERN_INFO"netlink_kernel_create fail./n");
}
在exit_yaffs_fs中:
if(yaffs_sock != NULL)
{
sock_release(yaffs_sock);
yaffs_sock = NULL;
}
增加两个函数:
void yaffs_notify_space_full(const char* partition, const char* type, int totalchunk, int freechunk)
{
size_t len = 0;
char *scratch = NULL;
struct sk_buff *skb = NULL;
totalchunk >>= 10;
freechunk  >>= 10;
len = DISK_FULL_MSG_SIZE;
skb = alloc_skb(len, GFP_KERNEL);
if (skb)
{
scratch = skb_put(skb, len);
sprintf(scratch, "diskevent: type=%s total=%dKB free=%dKB partition=%s",
type, totalchunk, freechunk, partition);
NETLINK_CB(skb).dst_group = 1;
netlink_broadcast(yaffs_sock, skb, 0, 1, GFP_KERNEL);
}
return;
}
void yaffs_notify_app_if_space_full(yaffs_Device * dev)
{
if (yaffs_sock)
{
const char* type = NULL;
int totalchunk = (dev->endBlock - dev->startBlock + 1) * dev->nChunksPerBlock * dev->nDataBytesPerChunk;
int freechunk =  yaffs_GetNumberOfFreeChunks(dev) * dev->nDataBytesPerChunk;
if (freechunk < totalchunk / 100)
{
type = "full";
}
else if (freechunk < totalchunk * 5 / 100)
{
type = "low";
}
if(type != NULL)
{
yaffs_notify_space_full(dev->name, type, totalchunk, freechunk);
}
}
return;
}

在yaffs_AllocateChunk中:
yaffs_notify_app_if_space_full(dev);

NETLINK是Linux提供的一种用于内核与用户空间进程通信的方式,使用简单,传输效率高,hotplug事件也是通过这种方式通知udev的。

用户空间监听磁盘满事件的实现很简单,我提供了一个示例,有兴趣的朋友可以到这里下载。

http://www.lbrq.cn/news/2458783.html

相关文章:

  • 做网站要懂什么编程怎么推广app
  • 如何查询网站打开速度培训机构招生方案范文
  • 网站建设属于哪个分类编码网站创建的流程是什么
  • 长沙做网站最好的公司有哪些适合发朋友圈的营销广告
  • 无锡定制网站建设网站seo快速优化技巧
  • 怎么套模板 网站模板广东宣布即时优化调整
  • 网站建设属于什么部门网站推广培训
  • 华企立方网站合肥网站排名
  • seo网站推广排名seo网络培训
  • 新网站收录多少关键词搜索关键词软件
  • 个人网站开发报告windows优化大师自动安装
  • 衡水专业网站建设公司seo网站快速排名软件
  • 网站资料要提供哪些百度竞价外包
  • 北京有哪些网站建设公司好抖音seo是什么意思
  • 攀枝花移动网站建设优化网站怎么真实点击
  • 销量最高的wordpress模版aso优化排名违法吗
  • 个人网站备案建设方案书关键词搜索推广
  • 工信部公布网站备案拍照背景长沙正规seo优化价格
  • wordpress捐广州seo团队
  • 如何做双版网站seo关键词排名系统
  • 天猫网站是怎么做seo优化的网络推广计划制定步骤
  • 昆山品牌网站建设谷歌外贸平台推广需要多少钱
  • 中国建设银采购发文网站seo优化是什么
  • 假发外贸b2c网站怎么做推广最有效的恶意点击
  • 电商网站开发报价手机优化软件下载
  • 江苏省建设工程上岗证查询网站建站软件
  • 宁波网站设计公司排名什么是seo营销
  • 网站首页收录烟台seo网络推广
  • 自己做的微信网站经常被停止访问济宁做网站的电话
  • 家乡网站建设自己做一个网站需要什么
  • AWD的攻击和防御手段
  • 【LLM】Kimi-K2模型架构(MuonClip 优化器等)
  • python---元组解包(Tuple Unpacking)
  • 告别配置混乱!Spring Boot 中 Properties 与 YAML 的深度解析与最佳实践
  • 【Linux系统】理解硬件 | 引入文件系统
  • 5G基站信号加速器!AD8021ARZ-REEL7亚德诺 超低噪声高速电压放大器 专利失真消除技术!