release the dnode lock after EACCESS in path walk
[lunaix-os.git] / lunaix-os / includes / lunaix / fs_acl.h
index 23aab232dc13da401712647dca1fb5a9b5b7633d..fde7225080f98650ad5f2aa1ea19c63aafa97485 100644 (file)
@@ -8,6 +8,7 @@
 #define FSACL_WRITE    2
 #define FSACL_EXEC     1
 
+#define FSACL_MASK     03777
 #define FSACL_RWXMASK  0777
 #define FSACL_U(x)    (((x) & 0b111) << 6)
 #define FSACL_G(x)    (((x) & 0b111) << 3)
@@ -57,6 +58,9 @@
 #define FSACL_o(r, w, x)            \
         (v__(__fsacl_sel(o, r)) | v__(__fsacl_sel(o, w)) | v__(__fsacl_sel(o, x)))
 
+#define FSACL_DEFAULT               \
+        (FSACL_u(R, W, X) | FSACL_g(R, W, X) | FSACL_o(R, _, X))
+
 #define fsacl_test(acl, type)   ((acl) & (FSACL_##type))
 
 static inline bool must_inline