Skip to content

Commit 01ae700

Browse files
committed
For absoluate paths specified in open call, delegate to posix
if it is not a path in the persistent memory mount. Update README
1 parent a5c10a4 commit 01ae700

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

README.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,7 @@ SplitFS is under active development.
101101
2. The current implementation of SplitFS works correctly for the following applictions: `LevelDB running YCSB, SQLite running TPCC, tar, git, rsync`. This limitation is purely due to the state of the implementation, and we aim to increase the coverage of applications by supporting more system calls in the future.
102102

103103
## Testing
104-
[PJD POSIX Test Suite](https://www.tuxera.com/community/posix-test-suite/) that tests primarily the metadata operations was run on SplitFS and yielded the following result.
105-
Tests Passed: 1944 out of a total of 1957.
106-
Tests that failed include:
107-
1. Tests on `link` (tests 56-58, 63-65 in links/00.t)
108-
2. Tests on `rename` (tests 49, 53, 57, 61 in rename/00.t)
109-
3. Tests on `unlink` (tests 17, 22, 53 in in unlink/00.t)
110-
111-
We aim to to improve this to a 100% pass rate soon.
104+
[PJD POSIX Test Suite](https://www.tuxera.com/community/posix-test-suite/) that tests primarily the metadata operations was run on SplitFS successfully.
112105

113106
**Running the Test Suite**
114107
Before running the tests, make sure you have [set-up ext4-DAX](#set-up-ext4-DAX)

splitfs/fileops_hub.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -639,12 +639,22 @@ RETT_OPEN _hub_OPEN(INTF_OPEN)
639639

640640
#endif
641641

642-
643-
if(path[0] == '/' && path[1] == 'v' && path[2] == 'a' && path[3] == 'r') {
644-
op_to_use = _hub_fileops;
645-
goto opening;
642+
/* In case of absoulate path specified, check if it belongs to the persistent memory
643+
* mount and only then use SplitFS, else redirect to POSIX
644+
*/
645+
if(path[0] == '/') {
646+
int len = strlen(NVMM_PATH);
647+
char dest[len + 1];
648+
dest[len] = '\0';
649+
strncpy(dest, path, len);
650+
651+
if(strcmp(dest, NVMM_PATH) != 0) {
652+
op_to_use = _hub_fileops;
653+
goto opening;
654+
}
646655
}
647656

657+
648658
/*
649659
if (!strcmp(path, "/dev/shm/exec-ledger") || !strcmp(path, "/dev/shm/exec-hub")) {
650660
op_to_use = _hub_fileops;

0 commit comments

Comments
 (0)