fallocate(2) - wariua/manpages-ko GitHub Wiki
fallocate - ํ์ผ ๊ณต๊ฐ ์กฐ์ํ๊ธฐ
#define _GNU_SOURCE /* feature_test_macros(7) ์ฐธ๊ณ */
#include <fcntl.h>
int fallocate(int fd, int mode, off_t offset, off_t len);
์ด์์ฑ ์๋ ๋ฆฌ๋ ์ค ์ ์ฉ ์์คํ ํธ์ถ์ด๋ค. ํ์ผ ๊ณต๊ฐ ํ ๋น์ ๋ณด์ฅํ๊ธฐ ์ํ ์ด์์ฑ ์๊ณ POSIX.1์ ๋ช ์ธ๋ ๋ฐฉ๋ฒ์ ๋ํด์ posix_fallocate(3)๋ฅผ ๋ณด๋ผ.
fallocate()
๋ฅผ ํตํด ํธ์ถ์๋ fd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ offset
๋ถํฐ len
๋ฐ์ดํธ๋งํผ ์ด์ด์ง๋ ๋ฐ์ดํธ ๋ฒ์์ ๋ํด ํ ๋น ๋์คํฌ ๊ณต๊ฐ์ ์ง์ ์กฐ์ํ ์ ์๋ค.
mode
์ธ์๋ ํด๋น ๋ฒ์์ ์ํํ ๋์์ ๊ฒฐ์ ํ๋ค. ์ง์ํ๋ ๋์๋ค์ ์๋์์ ์์ธํ ์ค๋ช
ํ๋ค.
fallocate()
์ ๊ธฐ๋ณธ ๋์(์ฆ mode
0)์ offset
๊ณผ len
์ผ๋ก ์ง์ ํ ๋ฒ์์ ๋์คํฌ ๊ณต๊ฐ์ ํ ๋นํ๋ค. offset
+len
์ด (stat(2)์ด ์๋ ค ์ฃผ๋) ํ์ผ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด ํ์ผ ํฌ๊ธฐ๊ฐ ๋ฐ๋๊ฒ ๋๋ค. offset
๊ณผ len
์ผ๋ก ์ง์ ํ ๋ฒ์ ๋ด์์ ํธ์ถ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์์ง ์์๋ ์์ญ์ 0์ผ๋ก ์ด๊ธฐํ ๋๋ค. ์ด ๊ธฐ๋ณธ ๋์ ๋ฐฉ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ posix_fallocate(3)์ ๋์๊ณผ ๋งค์ฐ ๋น์ทํ๋ฐ, ๊ทธ ํจ์๋ฅผ ์ต์ ์ผ๋ก ๊ตฌํํ ์ ์๋๋ก ํ๊ธฐ ์ํ ๊ฒ์ด๋ค.
์ฑ๊ณต ํธ์ถ ํ์๋ offset
๊ณผ len
์ผ๋ก ์ง์ ํ ๋ฒ์ ๋ด์์์ ์ฐ๊ธฐ ๋์์ด ๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ ๋๋ฌธ์ ์คํจํ์ง ์๋ ๊ฒ ๋ณด์ฅ๋๋ค.
mode
์ FALLOC_FL_KEEP_SIZE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด ํธ์ถ์ด ๋น์ทํ๊ฒ ๋์ํ๋ offset
+len
์ด ํ์ผ ํฌ๊ธฐ๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ ํ์ผ ํฌ๊ธฐ๊ฐ ๋ฐ๋์ง ์๊ฒ ๋๋ค. ์ด๋ฐ ์์ผ๋ก ํ์ผ ๋ ๋๋จธ์ 0 ์ฑ์ด ๋ธ๋ก๋ค์ ๋ฏธ๋ฆฌ ํ ๋นํด ๋๋ ๊ฒ์ด ๋ง๋ถ์ด๊ธฐ ์์
์ต์ ํ์ ์ธ๋ชจ๊ฐ ์๋ค.
mode
์ FALLOC_FL_UNSHARE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด ๊ณต์ ํ์ผ ๋ฐ์ดํฐ ์ต์คํ
ํธ(extent)๋ฅผ ๊ทธ ํ์ผ ์ ์ฉ์ผ๋ก ๋ง๋ค์ด์ ์ดํ์ ์ฐ๊ธฐ ๋์์ด ๊ณต๊ฐ ๋ถ์กฑ์ผ๋ก ์คํจํ์ง ์๊ฒ ๋ณด์ฅํ๋ค. ๋ณดํต ์ด๋ฅผ ์ํด ํ์ผ ๋ด ๋ชจ๋ ๊ณต์ ๋ฐ์ดํฐ์ copy-on-write ๋์์ ์ํํ๋ค. ๋ชจ๋ ํ์ผ ์์คํ
์์ ์ด ํ๋๊ทธ๋ฅผ ์ง์ํ์ง๋ ์์ ์๋ ์๋ค.
ํ ๋น์ด ๋ธ๋ก ํฌ๊ธฐ ๋จ์๋ก ์ด๋ค์ง๊ธฐ ๋๋ฌธ์ ์ง์ ํ ๊ฒ๋ณด๋ค ํฐ ๋์คํฌ ๊ณต๊ฐ ๋ฒ์๋ฅผ fallocate()
์์ ํ ๋นํ ์๋ ์๋ค.
mode
์ (๋ฆฌ๋
์ค 2.6.38๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํ) FALLOC_FL_PUNCH_HOLE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด offset
๋ถํฐ len
๋ฐ์ดํธ๋งํผ ์ด์ด์ง๋ ๋ฐ์ดํธ ๋ฒ์์ ๊ณต๊ฐ์ ํด์ ํ๋ค. (์ฆ ๊ตฌ๋ฉ์ ๋ง๋ ๋ค.) ์ง์ ๋ฒ์ ๋ด์ ์ผ๋ถ๋ง ์ํ๋ ํ์ผ ์์คํ
๋ธ๋ก์ 0์ผ๋ก ์ฑ์์ง๊ณ ์ ์ฒด๊ฐ ์ํ๋ ํ์ผ ์์คํ
๋ธ๋ก์ ํ์ผ์์ ์ ๊ฑฐ๋๋ค. ์ฑ๊ณต ํธ์ถ ํ์๋ ๊ทธ ๋ฒ์์์์ ์ฝ๊ธฐ ๋์์ด 0 ๊ฐ๋ค์ ๋ฐํํ๊ฒ ๋๋ค.
mode
์์ FALLOC_FL_PUNCH_HOLE
ํ๋๊ทธ์ ๋ฐ๋์ FALLOC_FL_KEEP_SIZE
๋ฅผ OR ํด์ ์จ์ผ ํ๋ค. ๋ฌ๋ฆฌ ๋งํด ํ์ผ ๋์ ๊ตฌ๋ฉ์ ๋ด๋ ๊ฒฝ์ฐ์๋ (stat(2)์ด ์๋ ค ์ฃผ๋) ํ์ผ ํฌ๊ธฐ๋ ๋ฐ๋์ง ์๋๋ค.
๋ชจ๋ ํ์ผ ์์คํ
์์ FALLOC_FL_PUNCH_HOLE
์ ์ง์ํ์ง๋ ์๋๋ค. ํ์ผ ์์คํ
์์ ์ด ๋์์ ์ง์ํ์ง ์์ผ๋ฉด ์ค๋ฅ๋ฅผ ๋ฐํํ๋ค. ์ ์ด๋ ๋ค์ ํ์ผ ์์คํ
์์ ์ด ๋์์ ์ง์ํ๋ค.
-
XFS (๋ฆฌ๋ ์ค 2.6.38๋ถํฐ)
-
ext4 (๋ฆฌ๋ ์ค 3.0๋ถํฐ)
-
Btrfs (๋ฆฌ๋ ์ค 3.7๋ถํฐ)
-
tmpfs(5) (๋ฆฌ๋ ์ค 3.5๋ถํฐ)
mode
์ (๋ฆฌ๋
์ค 3.15๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํ) FALLOC_FL_COLLAPSE_RANGE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด ํ์ผ์์ ์ด๋ค ๋ฐ์ดํธ ๋ฒ์๋ฅผ ๊ตฌ๋ฉ์ ๋จ๊ธฐ์ง ์๊ณ ์ ๊ฑฐํ๋ค. ์์ฐฉํ ๋ฐ์ดํธ ๋ฒ์๊ฐ offset
๋ถํฐ len
๋ฐ์ดํธ๋งํผ ์ด์ด์ง๋ค. ๋์์ด ์๋ฃ๋๋ฉด offset+len
์์น๋ถํฐ์ ํ์ผ ๋ด์ฉ๋ฌผ์ด offset
์์น์ ๋ถ์ผ๋ฉฐ ํ์ผ์ด len
๋ฐ์ดํธ๋งํผ ์์์ง๋ค.
ํ์ผ ์์คํ
์์ ํจ์จ์ ๊ตฌํ์ด ๊ฐ๋ฅ์ผ ํ๊ธฐ ์ํด ๋์ ๋จ์์ ์ ํ์ ๋ ์ ์๋ค. ๋ณดํต offset
๊ณผ len
์ด ํ์ผ ์์คํ
์ ๋
ผ๋ฆฌ์ ๋ธ๋ก ํฌ๊ธฐ์ ๋ฐฐ์์ฌ์ผ ํ๋๋ฐ, ๊ทธ ํฌ๊ธฐ๋ ํ์ผ ์์คํ
์ข
๋ฅ์ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. ํ์ผ ์์คํ
์ ๊ทธ๋ฐ ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ ๊ทธ ์๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ผ๋ฉด fallocate()
๊ฐ EINVAL
์ค๋ฅ๋ก ์คํจํ๋ค.
offset
๋ํ๊ธฐ len
์ด ๋ํ๋ด๋ ๋ฒ์๊ฐ ํ์ผ ๋์ ๋ฟ๊ฑฐ๋ ๋์ ๋์ผ๋ฉด ์ค๋ฅ๋ฅผ ๋ฐํํ๋ค. ํ์ผ์ ์ ๋จํ๋ ค๋ฉด ftruncate(2)๋ฅผ ์ฐ๋ฉด ๋๋ค.
mode
์ FALLOC_FL_COLLAPSE_RANGE
์ ๋ค๋ฅธ ํ๋๊ทธ๋ฅผ ํจ๊ป ์ง์ ํ ์ ์๋ค.
๋ฆฌ๋
์ค 3.15 ๊ธฐ์ค์ผ๋ก ext4(์ต์คํ
ํธ ๊ธฐ๋ฐ ํ์ผ ํ์ )์ XFS์์ FALLOC_FL_COLLAPSE_RANGE
๋ฅผ ์ง์ํ๋ค.
mode
์ (๋ฆฌ๋
์ค 3.15๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํ) FALLOC_FL_ZERO_RANGE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด offset
๋ถํฐ len
๋ฐ์ดํธ๋งํผ ์ด์ด์ง๋ ๋ฐ์ดํธ ๋ฒ์์ ๊ณต๊ฐ์ 0์ผ๋ก ์ฑ์ด๋ค. ์ง์ ๋ฒ์ ๋ด์์ ํ์ผ ๋ด ๊ตฌ๋ฉ์ ๊ฑธ์ณ ์๋ ์์ญ๋ค์ ๋ธ๋ก์ ๋ฏธ๋ฆฌ ํ ๋นํ๋ค. ์ฑ๊ณต ํธ์ถ ํ์๋ ๊ทธ ๋ฒ์์์์ ์ฝ๊ธฐ ๋์์ด 0์ ๋ฐํํ๊ฒ ๋๋ค.
ํ์ผ ์์คํ ๋ด์์ 0์ผ๋ก ์ฑ์ฐ๋ ๋์์ ๊ฐ๊ธ์ ์ด๋ฉด ๊ทธ ๋ฒ์๋ฅผ ๊ธฐ๋ก ์ ๋ ์ต์คํ ํธ๋ก ๋ณํํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ค์ง๋ค. ์ด ๋ฐฉ์์์๋ ์ฅ์น ์์์ ์ง์ ๋ฒ์๊ฐ (๋ฒ์ ์๋์ ์ผ๋ถ๋ง ์ํ ๋ธ๋ก์ ์ ์ธํ๊ณ ) ๋ฌผ๋ฆฌ์ ์ผ๋ก 0์ผ๋ก ์ฑ์์ง๋ ๊ฒ ์๋๋ฉฐ, (์ผ๋ถ๋ง ์ํ ๋ธ๋ก์ด ์๋ค๋ฉด) ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์ ์๋ง I/O๊ฐ ํ์ํ๋ค.
mode
์ FALLOC_FL_KEEP_SIZE
ํ๋๊ทธ๋ฅผ ์ถ๊ฐ๋ก ์ง์ ํ๋ฉด ํธ์ถ์ด ๋น์ทํ๊ฒ ๋์ํ๋ offset
+len
์ด ํ์ผ ํฌ๊ธฐ๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ ํ์ผ ํฌ๊ธฐ๊ฐ ๋ฐ๋์ง ์๊ฒ ๋๋ค. ์ด๋ ๊ณต๊ฐ์ ๋ฏธ๋ฆฌ ํ ๋นํ๋ฉด์ FALLOC_FL_KEEP_SIZE
๋ฅผ ์ง์ ํ ๋์ ๊ฐ์ ๋์ ๋ฐฉ์์ด๋ค.
๋ชจ๋ ํ์ผ ์์คํ
์์ FALLOC_FL_ZERO_RANGE
๋ฅผ ์ง์ํ์ง๋ ์๋๋ค. ํ์ผ ์์คํ
์์ ์ด ๋์์ ์ง์ํ์ง ์์ผ๋ฉด ์ค๋ฅ๋ฅผ ๋ฐํํ๋ค. ์ ์ด๋ ๋ค์ ํ์ผ ์์คํ
์์ ์ด ๋์์ ์ง์ํ๋ค.
-
XFS (๋ฆฌ๋ ์ค 3.15๋ถํฐ)
-
ext4, ์ต์คํ ํธ ๊ธฐ๋ฐ ํ์ผ (๋ฆฌ๋ ์ค 3.15๋ถํฐ)
-
SMB3 (๋ฆฌ๋ ์ค 3.17๋ถํฐ)
-
Btrfs (๋ฆฌ๋ ์ค 4.16๋ถํฐ)
mode
์ (๋ฆฌ๋
์ค 4.1๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํ) FALLOC_FL_INSERT_RANGE
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ฉด ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด ์ฐ์ง ์์ผ๋ฉด์ ํ์ผ ํฌ๊ธฐ ๋ด์ ๊ตฌ๋ฉ์ ์ง์ด๋ฃ์ด์ ํ์ผ ๊ณต๊ฐ์ ๋์ธ๋ค. ๊ทธ ๊ตฌ๋ฉ์ offset
๋ถํฐ len
๋ฐ์ดํธ๋งํผ ์ด์ด์ง๊ฒ ๋๋ค. ํ์ผ ๋ด๋ถ์ ๊ตฌ๋ฉ์ ์ง์ด๋ฃ์ ๋ offset
๋ถํฐ ์๋ ํ์ผ ๋ด์ฉ๋ฌผ์ด len
๋ฐ์ดํธ๋งํผ ์์ชฝ์ผ๋ก (์ฆ ํ์ผ ์คํ์
์ด ๋์์ง๋ ์ชฝ์ผ๋ก) ๋ฐ๋ฆฌ๊ฒ ๋๋ค. ํ์ผ ๋ด๋ถ์ ๊ตฌ๋ฉ์ ์ง์ด๋ฃ์ผ๋ฉด ํ์ผ ํฌ๊ธฐ๊ฐ len
๋ฐ์ดํธ๋งํผ ์ปค์ง๋ค.
์ด ๋ชจ๋๋ ๋์ ๋จ์์ ๊ด๋ จํด FALLOC_FL_COLLAPSE_RANGE
์ ๊ฐ์ ์ ์ฝ์ด ์๋ค. ํฌ๊ธฐ ๋จ์ ์๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ผ๋ฉด fallocate()
๊ฐ EINVAL
์ค๋ฅ๋ก ์คํจํ๋ค. offset
์ด ํ์ผ ๋๊ณผ ๊ฐ๊ฑฐ๋ ๊ทธ๋ณด๋ค ํฌ๋ฉด ์ค๋ฅ๋ฅผ ๋ฐํํ๋ค. ๊ทธ๋ฐ ๋์์๋ (์ฆ ํ์ผ ๋์ ๊ตฌ๋ฉ์ ์ง์ด๋ฃ๋ ๋ฐ๋) ftruncate(2)๋ฅผ ์ฐ๋ฉด ๋๋ค.
mode
์ FALLOC_FL_INSERT_RANGE
์ ๋ค๋ฅธ ํ๋๊ทธ๋ฅผ ํจ๊ป ์ง์ ํ ์ ์๋ค.
FALLOC_FL_INSERT_RANGE
์๋ ํ์ผ ์์คํ
์ง์์ด ํ์ํ๋ค. ์ด ๋์์ ์ง์ํ๋ ํ์ผ ์์คํ
์ผ๋ก XFS(๋ฆฌ๋
์ค 4.1๋ถํฐ)์ ext4(๋ฆฌ๋
์ค 4.2๋ถํฐ) ๋ฑ์ด ์๋ค.
์ฑ๊ณต ์ fallocate()
๋ 0์ ๋ฐํํ๋ค. ์ค๋ฅ ์ -1์ ๋ฐํํ๋ฉฐ ์ค๋ฅ๋ฅผ ๋ํ๋ด๋๋ก errno
๋ฅผ ์ค์ ํ๋ค.
EBADF
-
fd
๊ฐ ์ ํจํ ํ์ผ ๋์คํฌ๋ฆฝํฐ๊ฐ ์๋๊ฑฐ๋ ์ฐ๊ธฐ ๊ฐ๋ฅํ๊ฒ ์ด๋ ค ์์ง ์๋ค. EFBIG
-
offset
+len
์ด ์ต๋ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ค. EFBIG
-
mode
๊ฐFALLOC_FL_INSERT_RANGE
์ด๋ฉฐ ํ์ฌ ํ์ผ ํฌ๊ธฐ+len
์ด ์ต๋ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ค. EINTR
- ์คํ ์ค ์๊ทธ๋์ ์ก์๋ค. signal(7) ์ฐธ๊ณ .
EINVAL
-
offset
์ด 0๋ณด๋ค ์๊ฑฐ๋len
์ด 0 ์ดํ์ด๋ค. EINVAL
-
mode
๊ฐFALLOC_FL_COLLAPSE_RANGE
์ธ๋ฐoffset
๋ํ๊ธฐlen
์ด ๋ํ๋ด๋ ๋ฒ์๊ฐ ํ์ผ ๋์ ๋ฟ๊ฑฐ๋ ๋์ ๋๋๋ค. EINVAL
-
mode
๊ฐFALLOC_FL_INSERT_RANGE
์ธ๋ฐoffset
์ด ๋ํ๋ด๋ ๋ฒ์๊ฐ ํ์ผ ๋์ ๋ฟ๊ฑฐ๋ ๋์ ๋๋๋ค. EINVAL
-
mode
๊ฐFALLOC_FL_COLLAPSE_RANGE
๋FALLOC_FL_INSERT_RANGE
์ธ๋ฐoffset
์ด๋len
์ด ํ์ผ ์์คํ ๋ธ๋ก ํฌ๊ธฐ์ ๋ฐฐ์๊ฐ ์๋๋ค. EINVAL
-
mode
์FALLOC_FL_COLLAPSE_RANGE
๋FALLOC_FL_INSERT_RANGE
์ค ํ๋์ ๋๋ถ์ด ๋ค๋ฅธ ํ๋๊ทธ๊ฐ ์๋ค.FALLOC_FL_COLLAPSE_RANGE
์FALLOC_FL_INSERT_RANGE
์ ๋ค๋ฅธ ํ๋๊ทธ๋ฅผ ํ์ฉํ์ง ์๋๋ค. EINVAL
-
mode
๊ฐFALLOC_FL_COLLAPSE_RANGE
๋FALLOC_FL_ZERO_RANGE
,FALLOC_FL_INSERT_RANGE
์ธ๋ฐfd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ด ์ ๊ท ํ์ผ์ด ์๋๋ค. EIO
- ํ์ผ ์์คํ ์์ ์ฝ๊ธฐ๋ ์ฐ๊ธฐ๋ฅผ ํ๋ ์ค์ I/O ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
ENODEV
-
fd
๊ฐ ์ ๊ท ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์์ง ์๋ค. (fd
๊ฐ ํ์ดํ๋ผ FIFO์ด๋ฉด ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋์จ๋ค.) ENOSPC
-
fd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ ๋ด์ ์ฅ์น์ ์ถฉ๋ถํ ๊ณต๊ฐ์ด ๋จ์ ์์ง ์๋ค. ENOSYS
- ์ด ์ปค๋์์
fallocate()
๋ฅผ ๊ตฌํํ๊ณ ์์ง ์๋ค. EOPNOTSUPP
-
fd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ ํฌํจํ๋ ํ์ผ ์์คํ ์์ ์ด ๋์์ ์ง์ํ์ง ์๋๋ค. ๋๋fd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ ํฌํจํ๋ ํ์ผ ์์คํ ์์mode
๋ฅผ ์ง์ํ์ง ์๋๋ค. EPERM
-
fd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ด ๋ถ๋ณ์ผ๋ก ํ์๋ผ ์๋ค. (chattr(1) ์ฐธ๊ณ .) EPERM
-
mode
๊ฐFALLOC_FL_PUNCH_HOLE
์ด๋FALLOC_FL_COLLAPSE_RANGE
,FALLOC_FL_INSERT_RANGE
๋ฅผ ๋ํ๋ด๋๋ฐfd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ด ๋ง๋ถ์ด๊ธฐ ์ ์ฉ์ผ๋ก ํ์๋ผ ์๋ค. (chattr(1) ์ฐธ๊ณ .) EPERM
- ํ์ผ ๋ด์ธ ๋๋ฌธ์ ๋์์ด ๋งํ๋ค. fcntl(2) ์ฐธ๊ณ .
ESPIPE
-
fd
๊ฐ ํ์ดํ๋ FIFO๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ค. ETXTBSY
-
mode
์FALLOC_FL_COLLAPSE_RANGE
๋FALLOC_FL_INSERT_RANGE
๋ฅผ ์ง์ ํ๋๋ฐfd
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ผ์ด ํ์ฌ ์คํ ์ค์ด๋ค.
๋ฆฌ๋
์ค ์ปค๋ 2.6.23๋ถํฐ fallocate()
๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. glibc ๋ฒ์ 2.10๋ถํฐ ์ง์์ ์ ๊ณตํ๋ค. FALLOC_FL_*
ํ๋๊ทธ๋ค์ glibc ๋ฒ์ 2.18๋ถํฐ ํค๋์ ์ ์๋ผ ์๋ค.
fallocate()
๋ ๋ฆฌ๋
์ค ์ ์ฉ์ด๋ค.
fallocate(1)
, ftruncate(2), posix_fadvise(3), posix_fallocate(3)
2018-04-30