This repository was archived by the owner on Jul 8, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -512,6 +512,22 @@ instead of in kernel mode.
512
512
513
513
![ Diagram of phase 1 of the Linux implementation] ( images/phase1.png )
514
514
515
+ One caveat with the use of a user-space filesystem is the requirement
516
+ of user read and write file permissions in order to check and update
517
+ the extended attributes which maintain the projection state of a given
518
+ file or directory.
519
+
520
+ Whereas an in-kernel implementation may read and set attributes in
521
+ the ` trusted.* ` namespace, and do so at will, a user-space filesystem
522
+ is restricted to the use of the ` user.* ` extended attribute namespace,
523
+ and, further, can only read and change attributes as allowed by the file
524
+ permission modes of a given inode. Thus in order to test whether
525
+ a given file or directory is a placeholder, the user must have read
526
+ permission, so a write-only file mode like ` 0222 ` can not be permitted.
527
+ And user write permissions must be assigned to any read-only files or
528
+ directories, at least temporarily, in order to convert them from the
529
+ placeholder state to another (i.e., hydrated or full).
530
+
515
531
### Phase 2 – Hybrid
516
532
517
533
The second development phase adds an in-kernel projfs module which, at first,
You can’t perform that action at this time.
0 commit comments