diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2011-02-19 22:47:48 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2011-02-19 22:47:48 +0000 |
| commit | c88a480b9bcabf9aad4f7b66685bbafacc022cc4 (patch) | |
| tree | 2ba18a5775be2b02197084029834d80b9b251a1a /src/tools | |
| parent | 401b8383079720fff1264c67f77b6d8dfc8d9b58 (diff) | |
| download | libbu++-c88a480b9bcabf9aad4f7b66685bbafacc022cc4.tar.gz libbu++-c88a480b9bcabf9aad4f7b66685bbafacc022cc4.tar.bz2 libbu++-c88a480b9bcabf9aad4f7b66685bbafacc022cc4.tar.xz libbu++-c88a480b9bcabf9aad4f7b66685bbafacc022cc4.zip | |
Myriad does not handle multi-threaded access very well, that needs to be
addressed, besides that, only a couple more functions need to be added to
myriadfs before it's totally ready to have linux installed on it :-P
Diffstat (limited to '')
| -rw-r--r-- | src/tools/myriadfs.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/tools/myriadfs.cpp b/src/tools/myriadfs.cpp index b54390d..c4004b7 100644 --- a/src/tools/myriadfs.cpp +++ b/src/tools/myriadfs.cpp | |||
| @@ -54,13 +54,11 @@ extern "C" { | |||
| 54 | static int myriadfs_readdir( const char *sPath, void *buf, | 54 | static int myriadfs_readdir( const char *sPath, void *buf, |
| 55 | fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi ) | 55 | fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi ) |
| 56 | { | 56 | { |
| 57 | fprintf( stderr, "Reading dir...\n"); | ||
| 58 | Bu::MyriadFs::Dir lDir = pFs->readDir( sPath ); | 57 | Bu::MyriadFs::Dir lDir = pFs->readDir( sPath ); |
| 59 | filler( buf, ".", NULL, 0 ); | 58 | filler( buf, ".", NULL, 0 ); |
| 60 | filler( buf, "..", NULL, 0 ); | 59 | filler( buf, "..", NULL, 0 ); |
| 61 | for( Bu::MyriadFs::Dir::iterator i = lDir.begin(); i; i++ ) | 60 | for( Bu::MyriadFs::Dir::iterator i = lDir.begin(); i; i++ ) |
| 62 | { | 61 | { |
| 63 | fprintf( stderr, "Adding file: '%s'\n", (*i).sName.getStr() ); | ||
| 64 | filler( buf, (*i).sName.getStr(), NULL, 0 ); | 62 | filler( buf, (*i).sName.getStr(), NULL, 0 ); |
| 65 | } | 63 | } |
| 66 | 64 | ||
| @@ -80,6 +78,7 @@ extern "C" { | |||
| 80 | Bu::MyriadStream ms = pFs->open( sPath, 0 ); | 78 | Bu::MyriadStream ms = pFs->open( sPath, 0 ); |
| 81 | fi->fh = iNextFileId; | 79 | fi->fh = iNextFileId; |
| 82 | hOpenFiles.insert( iNextFileId++, ms ); | 80 | hOpenFiles.insert( iNextFileId++, ms ); |
| 81 | printf("File opened, %d files open now.\n", hOpenFiles.getSize() ); | ||
| 83 | return 0; | 82 | return 0; |
| 84 | } | 83 | } |
| 85 | catch(...) | 84 | catch(...) |
| @@ -112,6 +111,7 @@ extern "C" { | |||
| 112 | Bu::MyriadStream ms = pFs->open( sPath, 0 ); | 111 | Bu::MyriadStream ms = pFs->open( sPath, 0 ); |
| 113 | fi->fh = iNextFileId; | 112 | fi->fh = iNextFileId; |
| 114 | hOpenFiles.insert( iNextFileId++, ms ); | 113 | hOpenFiles.insert( iNextFileId++, ms ); |
| 114 | printf("File created, %d files open now.\n", hOpenFiles.getSize() ); | ||
| 115 | return 0; | 115 | return 0; |
| 116 | } | 116 | } |
| 117 | catch(...) | 117 | catch(...) |
| @@ -136,6 +136,7 @@ extern "C" { | |||
| 136 | static int myriadfs_release( const char *sPath, struct fuse_file_info *fi ) | 136 | static int myriadfs_release( const char *sPath, struct fuse_file_info *fi ) |
| 137 | { | 137 | { |
| 138 | hOpenFiles.erase( fi->fh ); | 138 | hOpenFiles.erase( fi->fh ); |
| 139 | printf("File released, %d files open now.\n", hOpenFiles.getSize() ); | ||
| 139 | 140 | ||
| 140 | return 0; | 141 | return 0; |
| 141 | } | 142 | } |
| @@ -143,7 +144,14 @@ extern "C" { | |||
| 143 | static int myriadfs_utimens( const char *sPath, | 144 | static int myriadfs_utimens( const char *sPath, |
| 144 | const struct timespec tv[2] ) | 145 | const struct timespec tv[2] ) |
| 145 | { | 146 | { |
| 146 | pFs->setTimes( sPath, tv[0].tv_sec, tv[1].tv_sec ); | 147 | try |
| 148 | { | ||
| 149 | pFs->setTimes( sPath, tv[0].tv_sec, tv[1].tv_sec ); | ||
| 150 | } | ||
| 151 | catch(...) | ||
| 152 | { | ||
| 153 | return -EACCES; | ||
| 154 | } | ||
| 147 | return 0; | 155 | return 0; |
| 148 | } | 156 | } |
| 149 | 157 | ||
