āĻā§āĻ˛āĻžāĻāĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻŦā§āĻˇāĻŖāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻŋ āĻŽā§āĻ˛āĻŋāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻ¨āĻŋāĻā§āĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋ
āĻāĻ āĻĒā§āĻ¸ā§āĻā§, āĻāĻŽāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻāĻĒāĻŋāĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°āĻŋāĨ¤ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤: āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§ āĻāĻ˛ āĻāĻ°ā§ write()
, āĻāĻŦāĻ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻĄā§āĻāĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ write()
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° RAM-āĻ¤ā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻā§āĻ¯āĻžāĻļā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĄā§āĻāĻž āĻāĻĒāĻŋ āĻāĻ°ā§āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻāĻāĻžāĻŦā§, āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ āĻāĻŽāĻžāĻ° āĻāĻā§āĻ°āĻšā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻŽāĻŋ āĻ¯āĻž āĻļāĻŋāĻā§āĻāĻŋ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¨ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻā§āĻŦ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤āĻāĻžāĻŦā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻā§āĻāĻ¸āĻ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ fdatasync()
āĻ
āĻĨāĻŦāĻž āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛ā§āĻ¨ O_DSYNC
. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻĄ āĻĨā§āĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻĨā§ āĻĄā§āĻāĻžāĻ° āĻā§ āĻāĻāĻŦā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻĻā§āĻā§āĻ¨
write() āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ write()
āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ write()
āĻĄā§āĻāĻž āĻ°āĻŋāĻĄ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ āĻŋāĻ āĻ¸ā§āĻ āĻŦāĻžāĻāĻāĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻĒā§āĻ°ā§āĻŦā§ āĻ˛ā§āĻāĻž āĻāĻŋāĻ˛, āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻĄā§āĻāĻž āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻž āĻĨā§āĻ°ā§āĻĄ āĻĨā§āĻā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ write()
āĻāĻāĻž āĻāĻŋ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ? āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻšā§āĻ¯āĻžāĻāĨ¤ āĻĄā§āĻāĻž āĻ°āĻŋāĻĄ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻā§ āĻ¯āĻž āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻž āĻāĻŋāĻā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ write()
. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ write()
, āĻŽāĻžāĻ¨ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻ
āĻāĻ¤ā§āĻ¯āĻž āĻ¸āĻŦ āĻāĻŋāĻā§ āĻ˛āĻŋāĻā§ āĻļā§āĻˇ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž āĻ¯āĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻā§ āĻĄā§āĻāĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ
āĻāĻļ āĻ˛āĻŋāĻāĻ¤ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ 1024 āĻŦāĻžāĻāĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻĻā§āĻāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§āĻ° āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻāĻāĻŋ āĻā§āĻ°āĻšāĻŖāĻ¯ā§āĻā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻŦā§ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻžāĻāĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻĨāĻžāĻāĻŦā§, āĻ¤āĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¯ā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§āĨ¤
fsync() āĻāĻŦāĻ fdatasync() āĻĢāĻžāĻāĻļāĻ¨
āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄā§āĻāĻž āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°āĻž fdatasync()
āĨ¤ āĻĻā§āĻ¯ fdatasync()
āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻ° āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ˛āĻžāĻāĻžāĻ˛ā§āĻ¨, āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽā§āĻāĻžāĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž "āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĄā§āĻāĻž āĻ°āĻŋāĻĄāĻŋāĻ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻ āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĨ¤" āĻāĻŦāĻ āĻāĻāĻŋāĻ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¯āĻ¤ā§āĻ¨āĻļā§āĻ˛āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž āĻ¯ā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĒāĻ°ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ°āĻ¯ā§āĻā§āĻ¯ āĻšāĻŦā§āĨ¤ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ fsync()
āĻ¯ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§āĻāĨ¤ āĻāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻāĻāĻ¨āĻŋāĻā§āĻ¸ā§, āĻšāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻžāĻ°āĻŖā§, āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻāĻžāĻ§āĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ fsync()
āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĄā§āĻāĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¤āĻž āĻāĻžāĻ¨āĻžāĻ° āĻā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻ (fsync()
āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤āĻžāĻŽ fdatasync()
āĻāĻāĻā§ āĻĻā§āĻ°ā§āĻ¤ fsync()
. āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ blktrace
āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯ā§ fdatasync()
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻŽ āĻĄā§āĻāĻž āĻ˛ā§āĻā§ (ext4 āĻ fsync()
āĻ˛ā§āĻā§āĻ¨ 20 KiB, āĻāĻŦāĻ fdatasync()
- 16 āĻāĻŋāĻŦāĻŋ)āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ āĻ¯ā§ āĻāĻā§āĻ¸āĻāĻĢāĻāĻ¸ ext4 āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻŋāĻā§āĻāĻž āĻĻā§āĻ°ā§āĻ¤āĨ¤ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§āĻ° āĻ¸āĻžāĻĨā§ blktrace
āĻ¯ā§ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ fdatasync()
āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻŽ āĻĄā§āĻāĻž āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°ā§ (XFS-āĻ 4 KiB)āĨ¤
fsync() āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĻā§āĻā§āĻ¤ āĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ
āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ
āĻ¸ā§āĻĒāĻˇā§āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ fsync()
āĻ¯āĻž āĻāĻŽāĻŋ āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§ āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤
2008 āĻ¸āĻžāĻ˛ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻāĻ¨āĻž āĻāĻā§āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻā§āĻ¸ 3 āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻĢāĻžāĻāĻ˛ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŋāĻ˛ āĻ¯ā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤āĻžāĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ SQLite āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻāĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒāĻ°ā§, āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ fsync()
, āĻ¯āĻž āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻā§āĻ° āĻāĻžāĻ˛ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤ ext3 āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ¤āĻāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ fsync()
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ "āĻ¨ā§āĻāĻ°āĻž" āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄāĻžāĻŽā§āĻĒ āĻāĻ°ā§, āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻ¯āĻŧ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻŋāĻ˛ā§ˇ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻŦā§āĻ¤āĻžāĻŽā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻ˛ā§ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āĻĄā§āĻāĻž āĻāĻāĻāĻŋ āĻā§āĻŽā§āĻŦāĻā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻž āĻ
āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻ¯āĻ¤āĻĻā§āĻ° āĻĨā§āĻā§ āĻŦā§āĻāĻ˛āĻžāĻŽ
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ 2009 āĻ¸āĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§, āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻā§āĻ°ā§āĻ¯āĻžāĻļā§āĻ° āĻĒāĻ°ā§, āĻ¨āĻ¤ā§āĻ¨ ext4 āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ āĻ¸āĻ¤ā§āĻ¯ā§āĻ° āĻŽā§āĻā§āĻŽā§āĻāĻŋ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻ
āĻ¨ā§āĻ āĻ¨āĻ¤ā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĻā§āĻ°ā§āĻā§āĻ¯ āĻļā§āĻ¨ā§āĻ¯ āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¨ā§ ext3 āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻāĻā§āĻ¨āĻŋāĨ¤ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ
āĻ¨ā§āĻā§āĻā§āĻĻā§, āĻāĻŽāĻŋ āĻā§āĻāĻžāĻŦā§ ext3 āĻĄāĻŋāĻ¸ā§āĻā§ āĻ
āĻ¤ā§āĻ¯āĻ§āĻŋāĻ āĻĄā§āĻāĻž āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°ā§ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻž āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻ
āĻ¨ā§āĻ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧāĨ¤ fsync()
. āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯, ext4-āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻ āĻ¨ā§āĻāĻ°āĻž āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ, āĻĄāĻŋāĻ¸ā§āĻā§ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĄā§āĻāĻž ext3 āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻ
āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻĨāĻžāĻā§āĨ¤ āĻāĻāĻŋ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ (āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻĄā§āĻāĻž 30 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ fsync()
āĻ¯ā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻĄā§āĻāĻž āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ āĻĨā§āĻā§ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¤āĻžāĻĻā§āĻ° āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĢāĻžāĻāĻļāĻ¨ fsync()
ext4 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ ext3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ
āĻ¨ā§āĻ āĻŦā§āĻļāĻŋ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻāĻā§āĻ° āĻŽāĻ¤āĻ, āĻāĻŋāĻā§ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻā§ āĻ§ā§āĻ° āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĻā§āĻā§āĻ¨
āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž fsync()
, 2018 āĻ¸āĻžāĻ˛ā§ āĻāĻĻā§āĻā§āĻ¤āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, PostgreSQL āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻāĻŋ āĻ¯āĻĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ fsync()
āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧ, āĻāĻāĻŋ "āĻ¨ā§āĻāĻ°āĻž" āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻā§ "āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ˛ fsync()
āĻ¤āĻžāĻ°āĻž āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻā§ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻāĻžāĻ°āĻŖā§, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻ¨āĻ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦāĻŋāĻĒāĻ°ā§āĻ¯āĻ¯āĻŧ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŦā§ āĻ¯ā§ āĻāĻŋāĻā§ āĻĄā§āĻāĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻ¤āĻž āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž fsync()
āĻŦāĻŋāĻ°āĻ˛, āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻŋāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻāĻāĻžāĻ˛, āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻāĻā§, PostgreSQL āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧāĨ¤ O_SYNC
āĻ
āĻĨāĻŦāĻž āĻāĻāĻāĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ O_DSYNC
. āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ˛ā§āĻāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°āĻŦā§, āĻ¤āĻŦā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻā§ āĻ¨āĻŋāĻā§āĻ āĻŦāĻžāĻĢāĻžāĻ°āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§ āĻĒāĻĄāĻŧā§āĻ¨
O_SYNC āĻāĻŦāĻ O_DSYNC āĻĒāĻ¤āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛āĻž āĻšāĻā§āĻā§
āĻāĻ˛ā§āĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽā§āĻ° āĻāĻ˛ā§āĻāĻ¨āĻžāĻ¯āĻŧ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻŋāĨ¤ āĻ¯āĻĨāĻž, āĻāĻŽāĻ°āĻž āĻĒāĻ¤āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋ O_SYNC
āĻŦāĻž āĻĒāĻ¤āĻžāĻāĻž O_DSYNC
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ write()
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ fsync()
и fdatasync()
āĨ¤ āĻĻā§āĻ¯ write()
и fdatasync()
) āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛ā§āĻāĻž āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻŦā§, āĻ¯āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻĄ āĻāĻ āĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
O_DIRECT āĻĒāĻ¤āĻžāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ I/O āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ open()
āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ O_DIRECT
, āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻ
ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°ā§ I/O āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻā§āĻ¯āĻžāĻļā§ āĻŦāĻžāĻāĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ, āĻ
āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ¨āĻ¯āĻŧ fsync()
āĻŦāĻž fdatasync()
. āĻāĻ¸āĻ˛ā§ āĻĄāĻŋāĻ¸ā§āĻ āĻ¨āĻŋāĻā§āĻ āĻĒāĻžāĻ°ā§ O_DIRECT
, O_DSYNC
, āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ˛ā§āĻāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻāĻāĻāĻŋ āĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻŦā§ fdatasync()
.
āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ XFS āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻāĻāĻŋ "āĻĻā§āĻ°ā§āĻ¤ āĻĒāĻĨ" āĻ¯ā§āĻ āĻāĻ°ā§āĻā§ O_DIRECT|O_DSYNC
-āĻĄā§āĻāĻž āĻ°ā§āĻāĻ°ā§āĻĄāĻŋāĻāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ O_DIRECT|O_DSYNC
, āĻ¤āĻžāĻ°āĻĒāĻ° XFS, āĻā§āĻ¯āĻžāĻļā§ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻ˛ā§ FUA āĻ°āĻžāĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻŦā§āĨ¤ āĻāĻŽāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻāĻŋ blktrace
āĻāĻāĻāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ 5.4/āĻāĻŦā§āĻ¨ā§āĻā§ 20.04 āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĨ¤ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻ°āĻ āĻĻāĻā§āĻˇ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, āĻ¯ā§āĻšā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĄā§āĻāĻž āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĻā§āĻāĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻā§āĻ¯āĻžāĻļā§ āĻ˛ā§āĻāĻž āĻāĻŦāĻ āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°āĻž)āĨ¤ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ
sync_file_range() āĻĢāĻžāĻāĻļāĻ¨
āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻā§ sync_file_range()
āĻĻāĻ˛āĻāĻŋāĻā§ "āĻā§āĻŦ āĻŦāĻŋāĻĒāĻā§āĻāĻ¨āĻ" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻŦāĻ āĻŦāĻŋāĻĒāĻĻ sync_file_range()
āĻā§āĻŦ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ fdatasync()
āĨ¤ āĻĻā§āĻ¯ sync_file_range()
ZFS āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄā§āĻāĻž āĻĢā§āĻ˛āĻžāĻļ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻž āĻāĻŽāĻžāĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻā§āĻĄ āĻ¯āĻž āĻā§āĻŦ āĻāĻŽāĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ¤ā§ āĻŦāĻžāĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻŽāĻŋ āĻāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻŦ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻā§āĻŦāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻ¯āĻž āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻŋāĻ°āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§
āĻāĻŽāĻŋ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°ā§ āĻĒā§āĻāĻā§āĻāĻŋ āĻ¯ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻ¨ā§āĻĨāĻž āĻāĻā§ āĻ¯āĻž I/O āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻŋāĻ°āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻ¤āĻžāĻ°āĻž āĻ¸āĻŦ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ fsync()
āĻ¯ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻšāĻ˛:
- āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛āĻŋāĻ
fdatasync()
āĻŦāĻžfsync()
āĻĢāĻžāĻāĻļāĻ¨ āĻĒāĻ°ā§write()
(āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻžāĻ˛fdatasync()
). - āĻāĻāĻāĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻ˛āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž
O_DSYNC
āĻŦāĻžO_SYNC
(āĻāĻžāĻ˛ - āĻāĻāĻāĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻšO_DSYNC
). - āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
pwritev2()
āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻšRWF_DSYNC
āĻŦāĻžRWF_SYNC
(āĻŦāĻŋāĻļā§āĻˇāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§RWF_DSYNC
).
āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨ā§āĻ
āĻāĻŽāĻŋ āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻāĻŋ āĻ¤āĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻŽāĻŋ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻāĻ°āĻŋāĻ¨āĻŋāĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻā§āĻ° āĻāĻ¤āĻŋāĻ¤ā§ āĻāĻŽāĻŋ āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻāĻŋ āĻ¤āĻž āĻā§āĻŦāĻ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻŽāĻŋ āĻā§āĻ˛ āĻšāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻŋāĻ¨ā§āĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻŽāĻŋ āĻāĻŋ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻļāĻŋ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻŽ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
- āĻĢāĻžāĻāĻ˛ āĻĄā§āĻāĻž āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĄā§āĻāĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻ° (āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻž 2-100% āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§)āĨ¤ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĄā§āĻāĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽā§āĻāĻžāĻĄā§āĻāĻžāĻ¤ā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻĒāĻ°ā§āĻ
fallocate()
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻĒā§āĻ°āĻāĻžāĻŦā§āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ, āĻ¸ā§āĻ°āĻž āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯fallocate()
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ°āĻžāĻ-āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻ¤ā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻļā§āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°ā§āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§fsync()
. āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻŦā§ āĻ¯ā§ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋ "āĻ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻā§āĻ¤" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ "āĻŦāĻ°āĻžāĻĻā§āĻĻ" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ (āĻĒā§āĻ°āĻžāĻ¯āĻŧ 2%) āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻāĻŋāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ§ā§āĻ°āĻāĻ¤āĻŋāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻļā§āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ¨ā§āĻ¯āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻ˛ā§ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻžāĻ¯āĻŧ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ (āĻĒā§āĻ°āĻžāĻ¯āĻŧ 100%) āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§, āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§AWS EBS (āĻāĻāĻŋ āĻŦā§āĻ¸āĻ°āĻāĻžāĻ°ā§ āĻ¤āĻĨā§āĻ¯, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ)āĨ¤ āĻāĻāĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ¯āĻŧāĻāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĄāĻŋāĻ¸ā§āĻ (āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¤āĻĨā§āĻ¯, āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤)āĨ¤ āĻ āĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇāĻā§āĻāĻ°āĻžāĻ āĻāĻāĻ āĻāĻžāĻ āĻāĻ°ā§āĻā§āĻ¨āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ , āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤āĨ¤ - āĻāĻŽ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛, āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻā§āĻāĻ¤āĻ° (āĻ˛āĻžāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 5% āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§)āĨ¤ āĻāĻāĻāĻž āĻā§āĻ¯āĻžāĻ˛ā§āĻā§āĻ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§
open()
āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻšO_DSYNC
āĻ āĻĨāĻŦāĻž āĻāĻ˛ āĻāĻ°ā§āĻ¨pwritev2()
āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻšRWF_SYNC
āĻāĻ˛ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻĻā§āĻ°ā§āĻ¤fdatasync()
. āĻāĻŽāĻŋ āĻ¸āĻ¨ā§āĻĻā§āĻš āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻāĻžāĻ¨ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻĒāĻžāĻ˛āĻ¨ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻĻā§āĻāĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻ˛)āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§āĻ° āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻā§āĻŦ āĻā§āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻ° āĻ¯ā§āĻā§āĻ¤āĻŋāĻā§ āĻāĻāĻŋāĻ˛ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻāĻ¸āĻ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻĒāĻāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§:
I/O āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ â āĻāĻ¨āĻĒā§āĻ/āĻāĻāĻāĻĒā§āĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽā§āĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻžāĻ°āĻāĻŋāĻāĨ¤āĻĄā§āĻāĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž â āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻĨā§ āĻĄā§āĻāĻžāĻ° āĻā§ āĻāĻā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻĒāĨ¤āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ fsync āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ - āĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ°fsync()
āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻāĻŋāĻā§ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻŦāĻ˛āĻ¤ā§ āĻā§āĻ˛ā§, āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļā§āĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻ¯ā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ SQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°: FUA āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ â āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ SQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻāĻžāĻ¨ā§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻ¯ā§ āĻāĻŽāĻŋ XFS-āĻāĻ° FUA āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļāĻŋāĻā§āĻāĻŋāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻāĻŽāĻ¨ āĻĄā§āĻāĻž āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§āĻā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦā§āĻāĻŋāĻ˛ā§āĻ¨ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§?
āĻāĻ¤ā§āĻ¸: www.habr.com