summaryrefslogtreecommitdiff
path: root/cmd_fusemount.c
AgeCommit message (Collapse)Author
2021-09-09Update bcachefs sources to 3f3f969859 bcachefs: Fix some compiler warningsKent Overstreet
2021-06-05Implement iterator_put in fuseJustin Husted
bcachefs_fuse_setattr and inode_updates_times need to explicitly call iter_put (the API changed a while back). Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28bcachefs-tools: Fix build errors.Justin Husted
The BTREE_INSERT_ATOMIC removal broke fuse. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-12-28bcachefs-tools: Fix build break with FUSE.Justin Husted
bch2_link_trans() in the filesystem side was fixed to do timestamps properly, but the change to the tools call got lost. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-11Make fuse3 support optional and document.Justin Husted
The experimental fuse3 support is not complete yet, and fuse3 is new and still difficult to install on some platforms. Make it optional at compile time, and default to off. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-09Implement basic fuse mount tests.Justin Husted
The purpose of these tests is to verify that bcachefs fuse support works as expected, including gathering valgrind errors from the bcachefs executable. To do this, bcachefs is executed from a helper thread in the new util.BFuse class, which goes about setting up and validating the valgrind data as well as making sure the mount has completed sufficiently before the test starts executing. This also includes some basic functionality smoke tests which cover file creation, timestamps, etc. Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-09Fix memory leak in fuse write.Justin Husted
The write buffer was being leaked in bcachefs_fuse_write(). Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-11-03Add more fuse logging.Justin Husted
Signed-off-by: Justin Husted <sigstop@gmail.com>
2019-10-18Enable caching of negative dentriesKent Overstreet
2019-10-18Simplify readdirKent Overstreet
2019-10-18Write path now updates i_size/i_sectorsKent Overstreet
2019-10-18Use proper flags mask.Justin Husted
2019-10-18Prettify the align_io function by returning by value.Justin Husted
2019-10-18Fix missing mode setting in fuse mkdir.Justin Husted
2019-10-18Add fuse symlink and readlink support.Justin Husted
Also fix link.
2019-10-18Implement unaligned write support for fuse. Seems to work on initialJustin Husted
testing, but there are problems with cache coherency and journaling.
2019-10-18Factor alignment logic out of bcachefs_fuse_read.Justin Husted
2019-10-18Implement unaligned read support for fuse.Justin Husted
2019-10-18Make fuse read and write work (for aligned writes).Justin Husted
Read: There was a missing refcount on the closure. Write: Unlike in the Linux kernel, we need to manually update the size and timestamps, otherwise the operation will appear complete when viewed via the cached inode, but after unmounting and mounting again the write will be undone.
2019-10-18Fix fuse read/write to not segfault on unaligned IO.Justin Husted
2019-10-18initialize op->pos for writeKent Overstreet
2019-10-18fill in .st_ino in .getattrKent Overstreet
2019-10-18build fixes; initial read/write methodsKent Overstreet
2019-10-18Fix infinite looping behavior with readdir.Justin Husted
Also adds partial . and .. support, and implements ENOTDIR error. The source of this problem was due to the off-by-one interface expected by readdir. Each directory entry contains a pointer to next, so it cannot be emitted to the user until the next entry is actually read. Returning the current position + 1 is insufficient, because the user will just retry cur + 1 as the start position to see if they've reached the end of the directory. Since directory entries are keyed by a 64-bit hash in bcachefs, the result was that the user would call readdir over and over with what it believed the next pointer to be until "cur + 1" reached some enormous 64-bit value related to the hash for the "lost+found" entry.
2019-10-18Implement option parsing for fuse. The syntax is:Justin Husted
bcachefs fusemount dev mountpoint or bcachefs fusemount dev1:dev2:... mountpoint
2019-10-18fuseKent Overstreet