Untuk mengaktifkan data sebaris di ext4, Anda harus menggunakan e2fsprogs
1.43 atau lebih baru. Dukungan untuk data sebaris ditambahkan pada Maret 2014 ke repositori Git, tetapi baru dirilis pada Mei 2016.
Setelah memilikinya, Anda dapat menjalankan mke2fs -O inline_data
pada perangkat yang sesuai untuk membuat sistem file baru dengan dukungan data sebaris; ini akan menghapus semua data Anda . Tampaknya belum memungkinkan untuk mengaktifkan data sebaris pada sistem file yang ada (setidaknya, tune2fs
tidak mendukungnya).
Sekarang buat file kecil, dan jalankan debugfs
pada sistem file. cd
ke direktori yang sesuai, dan jalankan stat smallfile
; Anda akan mendapatkan sesuatu seperti
Inode: 32770 Type: regular Mode: 0644 Flags: 0x10000000
Generation: 2302340561 Version: 0x00000000:00000001
User: 1000 Group: 1000 Size: 6
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 0
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
atime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
mtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
crtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
Size of extra inode fields: 28
Extended attributes:
system.data (0)
Size of inline data: 60
Seperti yang Anda lihat, data disimpan sebaris. Ini juga dapat dilihat menggunakan df
; sebelum membuat file:
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 12 65524 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
Setelah membuat file:
% echo Hello > smallfile
% ls -l
total 1
-rw-r--r-- 1 steve steve 6 Apr 22 07:35 smallfile
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 13 65523 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
File ada di sana, menggunakan inode tetapi ruang penyimpanan yang tersedia tidak berubah.
Jika e2fsprogs
Anda versi terlalu lama, atau sistem file sudah dibuat, Anda dapat menyetel flag fitur menggunakan debugfs
(bendera didukung sejak 2012, sedangkan mke2fs
dan alat lainnya menambahkan dukungan pada 2014+ dan banyak distribusi masih belum mengirimkannya pada 2016, termasuk. Ubuntu Xenial).
Untuk melakukannya, buka partisi dalam mode baca-tulis:
debugfs -w /dev/sdxx
Dan kemudian tambahkan bendera:
feature inline_data
(atau feature -inline_data
untuk menonaktifkannya, tapi itu mungkin ide yang sangat buruk jika sudah ada file inline!)
Perhatikan, bagaimanapun, jika sistem Anda e2fsprogs
sudah tua, Anda menyudutkan diri sendiri, karena utilitas (termasuk debugfs
itu sendiri) akan menolak untuk menyentuh sistem file seperti itu setelah menyetel bendera.
Perhatikan juga bahwa GRUB
saat ini (2.02) tidak mendukung ini, jadi menyetelnya pada partisi boot akan membuat sistem tidak dapat di-boot. Ada tambalan yang tidak digabungkan untuk menambahkan dukungan.
Pada saat penulisan ini, file dan direktori hingga inode_size-128
dapat digarisbawahi, jadi 128 byte untuk inode default 256 byte. Anda dapat menggunakan inode yang lebih besar jika ingin lebih banyak inlining.