diff options
author | Mike Buland <eichlan@xagasoft.com> | 2010-11-19 23:48:03 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2010-11-19 23:48:03 +0000 |
commit | 2545d1f2a82bc7c23abc0034958b169f9fffe613 (patch) | |
tree | f0240aea48e98d3515b0ee7d49904fe8fe4744de /src/myriadfs.h | |
parent | d013208dd0cbd42b4f46279772d02ec85c47735f (diff) | |
download | libbu++-2545d1f2a82bc7c23abc0034958b169f9fffe613.tar.gz libbu++-2545d1f2a82bc7c23abc0034958b169f9fffe613.tar.bz2 libbu++-2545d1f2a82bc7c23abc0034958b169f9fffe613.tar.xz libbu++-2545d1f2a82bc7c23abc0034958b169f9fffe613.zip |
MyriadFs is starting out...but the FUSE system is...akward at best.
Diffstat (limited to 'src/myriadfs.h')
-rw-r--r-- | src/myriadfs.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/myriadfs.h b/src/myriadfs.h index 687584b..42a3493 100644 --- a/src/myriadfs.h +++ b/src/myriadfs.h | |||
@@ -1,13 +1,20 @@ | |||
1 | #ifndef MYRIAD_FS_H | 1 | #ifndef MYRIAD_FS_H |
2 | #define MYRIAD_FS_H | 2 | #define MYRIAD_FS_H |
3 | 3 | ||
4 | #include "bu/myriad.h" | ||
5 | |||
4 | namespace Bu | 6 | namespace Bu |
5 | { | 7 | { |
8 | class Stream; | ||
9 | |||
10 | subExceptionDecl( MyriadFsException ); | ||
11 | |||
6 | /** | 12 | /** |
7 | * A POSIX compliant, node based filesystem built on top of Myriad. | 13 | * A POSIX compliant, node based filesystem built on top of Myriad. |
8 | * | 14 | * |
15 | * A header is placed into stream 1. | ||
9 | * Header format: | 16 | * Header format: |
10 | * int32_t iMagicHeader | 17 | * int32_t iMagicHeader (A7188B39) |
11 | * int8_t iVersion (1) | 18 | * int8_t iVersion (1) |
12 | * int32_t iNodeSize | 19 | * int32_t iNodeSize |
13 | * int32_t iNumNodes | 20 | * int32_t iNumNodes |
@@ -17,6 +24,11 @@ namespace Bu | |||
17 | * int32_t iInode | 24 | * int32_t iInode |
18 | * int32_t iPosition | 25 | * int32_t iPosition |
19 | * | 26 | * |
27 | * The node headers or inode structures have a base size of 22 bytes. | ||
28 | * Everything else in the block is used for the name. I.e. if you have | ||
29 | * a blocksize of 512 bytes then you wind up with a max name size of | ||
30 | * 512-22=490 characters, or a blocksize of 256 gives you 234 chraacters | ||
31 | * as a max. The node headers are all stored in stream 2. | ||
20 | * Basic node header format: | 32 | * Basic node header format: |
21 | * int32_t iUser | 33 | * int32_t iUser |
22 | * int32_t iGroup | 34 | * int32_t iGroup |
@@ -30,8 +42,12 @@ namespace Bu | |||
30 | class MyriadFs | 42 | class MyriadFs |
31 | { | 43 | { |
32 | public: | 44 | public: |
33 | MyriadFs(); | 45 | MyriadFs( Bu::Stream &rStore, int iBlockSize=512 ); |
34 | virtual ~MyriadFs(); | 46 | virtual ~MyriadFs(); |
47 | |||
48 | private: | ||
49 | Bu::Stream &rStore; | ||
50 | Bu::Myriad mStore; | ||
35 | }; | 51 | }; |
36 | }; | 52 | }; |
37 | 53 | ||