write返回码的异常

原来从来没有清楚的描述出write函数在传递到内核中的缓冲页,如果刷新缓冲页失败,数据将会如何处理,是否会一直保存在内存中,耗尽内存的空间??

获取错误码:

static void handle_write_error(struct address_space *mapping,
    struct page *page, int error)
{
 lock_page(page);
 if (page_mapping(page) == mapping) {
  if (error == -ENOSPC)
   set_bit(AS_ENOSPC, &mapping->flags);
  else
   set_bit(AS_EIO, &mapping->flags);
 }
 unlock_page(page);
}

在linux 源码中找到的资料不多:

/*
 * Bits in mapping->flags.  The lower __GFP_BITS_SHIFT bits are the page
 * allocation mode flags.
 */
#define AS_EIO  (__GFP_BITS_SHIFT + 0) /* IO error on async write */
#define AS_ENOSPC (__GFP_BITS_SHIFT + 1) /* ENOSPC on async write */

仔细检查了一下读写的方式:

/*
 * ->writepage() return values (make these much larger than a pagesize, in
 * case some fs is returning number-of-bytes-written from writepage)
 */
#define WRITEPAGE_ACTIVATE 0x80000 /* IO was not started: activate page */

时间: 2024-11-05 13:40:43

write返回码的异常的相关文章

微信公众号调用接口返回码

返回码 说明 -1 系统繁忙,此时请开发者稍候再试 0 请求成功 40001 获取access_token时AppSecret错误,或者access_token无效.请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的公众号调用接口 40002 不合法的凭证类型 40003 不合法的OpenID,请开发者确认OpenID(该用户)是否已关注公众号,或是否是其他公众号的OpenID 40004 不合法的媒体文件类型 40005 不合法的文件类型 40006 不合法的文件大小 4000

微信公众号全局返回码说明和接口频率限制说明

附:全局返回码说明 公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误. 全局返回码说明如下: 返回码 说明 -1 系统繁忙 0 请求成功 40001 获取access_token时AppSecret错误,或者access_token无效 40002 不合法的凭证类型 40003 不合法的OpenID 40004 不合法的媒体文件类型 40005 不合法的文件类型 40006 不合法的文件大小 40007 不合法的媒体文件id 40008 不合法的消息类

常见的HTTP返回码如4xx, 5xx

常见的HTTP返回码如4xx, 5xx Client Error =====================400 Bad Request 因为错误的语法导致服务器无法理解请求信息.401 Unauthorized 如果请求需要用户验证.回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限.402 Payment Required 保留状态码403 Forbidden 服务器接受请求,但是被拒绝处理.404 Not Found 服务器已经找到任何匹配Request-URI

HTTP 返回码

HTTP协议状态码表示的意思主要分为五类,大体是:  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  1×× 保留  2×× 表示请求成功地接收  3×× 为完成请求客户需进一步细化请求  4×× 客户错误  5×× 服务器错误 100 Continue指示客户端应该继续请求.回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝.客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据.服务器必须发送最后的回送在请求之后. 101 Switching Protocols

shell脚本:监控HTTP服务的状态(测试返回码)

#定义函数check_http: #使用curl命令检查http服务器的状态 #-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接 #-s设置静默连接,不显示连接时的连接速度.时间消耗等信息 #-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容) #-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码 #!/bin/bash #Author:丁丁历险(Jacob) #设置变量,url为你需要

微信公众号全局返回码说明

全局返回码说明 公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误. 全局返回码说明如下: 返回码 说明 -1 系统繁忙,此时请开发者稍候再试 0 请求成功 40001 获取 access_token 时 AppSecret 错误,或者 access_token 无效.请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 40002 不合法的凭证类型 40003 不合法的 OpenID ,请开发者确认 OpenID (该用

微信公众平台API测试 ——全局返回码

全局返回码说明[1] 公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误. 全局返回码说明如下: 返回码 说明 -1 系统繁忙 0 请求成功 40001 获取access_token时AppSecret错误,或者access_token无效 40002 不合法的凭证类型 40003 不合法的OpenID 40004 不合法的媒体文件类型 40005 不合法的文件类型 40006 不合法的文件大小 40007 不合法的媒体文件id 40008 不合法的消息

HTTP返回码中301与302的区别(转)

add by zhj:  区别 1.使用效果不同 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址.因为服务器返回302代码,搜索引擎认为新的网址只是暂时的. 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址. 2.SEO使用方式不同 在搜索引擎优化中302跳转被众多黑帽SEO优化人员追求,对网站进行恶意302跳转至非用户目标访问网站,因此搜索引擎对于网站的302跳转通常是比较不友好. 常见的方式是对网站K站,在对网站进行URL规范化地址要使用

http返回码是000...

今天开发童鞋在测试往一个网站发请求的时候,发现返回码是000,如图: 众所周知,常见的返回码是以下四种: 1)2XX 成功: 2)3XX 重定向: 3)4XX 客户端错误: 4)5XX 服务器端错误: 但是000是啥玩意?简单的说就是没有有效的http状态码,比如连接被拒绝,连接超时等. 使用#curl -w "%{http_code}\n" -m 5 https://60.191.94.115:38303/cloudSignalling/events/deviceState ; ec