Câu trả lời cho câu hỏi của bạn là hệ thống tập tin cụ thể. Ví dụ, đối với ext3, hãy xem fs / ext3 / xattr.c , nó chứa mô tả sau:
16 /*
17 * Extended attributes are stored directly in inodes (on file systems with
18 * inodes bigger than 128 bytes) and on additional disk blocks. The i_file_acl
19
* field contains the block number if an inode uses an additional block. All
20 * attributes must fit in the inode and one additional block. Blocks that
21 * contain the identical set of attributes may be shared among several inodes.
22 * Identical blocks are detected by keeping a cache of blocks that have
23 * recently been accessed.
24 *
25 * The attributes in inodes and on blocks have a different header; the entries
26 * are stored in the same format:
27 *
28 * +------------------+
29 * | header |
30 * | entry 1 | |
31 * | entry 2 | | growing downwards
32 * | entry 3 | v
33 * | four null bytes |
34 * | . . . |
35 * | value 1 | ^
36 * | value 3 | | growing upwards
37 * | value 2 | |
38 * +------------------+
39 *
40 * The header is followed by multiple entry descriptors. In disk blocks, the
41 * entry descriptors are kept sorted. In inodes, they are unsorted. The
42 * attribute values are aligned to the end of the block in no specific order.
43 *
44 * Locking strategy
45 * ----------------
46 * EXT3_I(inode)->i_file_acl is protected by EXT3_I(inode)->xattr_sem.
47 * EA blocks are only changed if they are exclusive to an inode, so
48 * holding xattr_sem also means that nothing but the EA block's reference
49 * count can change. Multiple writers to the same block are synchronized
50 * by the buffer lock.
51 */
Liên quan đến câu hỏi "làm thế nào các thuộc tính được kết nối", liên kết theo cách khác, inode có một liên kết đến các thuộc tính mở rộng, xem EXT3_XATTR_NEXT
và ext3_xattr_list_entries
trong xattr.h và xattr.c tương ứng.
Để tóm tắt lại, các thuộc tính được liên kết với inode và phụ thuộc vào fs, vì vậy, bạn sẽ mất các thuộc tính khi ghi rom CD hoặc gửi email một tệp.