History log of /haiku/src/add-ons/kernel/file_systems/ntfs/kernel_interface.cpp
Revision Date Author Comments
# 13b7ddec 31-Jul-2023 Augustin Cavalier <waddlesplash@gmail.com>

NTFS: Fix potential memory leak.


# 8b018d9a 24-Jul-2023 Augustin Cavalier <waddlesplash@gmail.com>

NTFS: Fetch the mount point path during initialization.

Fixes #18490.

Change-Id: I06d4b268f2088ac49ef3bc5d895ab94f219e2177
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6741
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 35b40030 27-Jan-2023 Augustin Cavalier <waddlesplash@gmail.com>

file_systems/fs_ops_support: Add open_mode_to_access.

This is duplicated across multiple filesystems, and could probably be
used in more still.

Adjusted only BFS, EXT2, and NTFS in this commit, as they are the ones
which make use of fs_ops_support.h already and thus need to be modified
to avoid duplicate-definition errors.

Also tweak next_dirent to support being built under fs_shell.
(Possibly we should define ASSERT there, though?)


# 75b68ba5 27-Oct-2022 Augustin Cavalier <waddlesplash@gmail.com>

NTFS: Account for null-termination of strings when checking buffer sizes.

May fix #18021.


# 3c1cf7b2 28-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

NTFS: Use the new next_dirent utility function just like BFS.


# 711e2dc0 01-Dec-2021 Augustin Cavalier <waddlesplash@gmail.com>

Adjust all struct dirent creations (again), this time to use offsetof().

The dirent struct is not packed, so offsetof(dirent, d_name) != sizeof(dirent).
Thus in order not to waste the alignment bytes (which are significant,
on x86_64 at least, sizeof(dirent)==32, but offsetof(...)=26.)

This is also the most portable way to handle things, and should
work just fine in cross-platform code that has a non-zero-sized d_name.


# 23888052 22-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: Fix off-by-one error in d_name copy.

Should fix incorrect directory contents after the dirent refactor.

Change-Id: Ic2b5024b62c9d9f9485c4695b59d0e971109f09d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4728
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 9d242fb9 18-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

file_systems & Tracker: Do not assume sizeof(dirent) contains 1 byte for the name.

At present, it does, but that is an oddity we have preserved from BeOS
that the next commit is going to remove. (This commit thus wastes 1 byte
without the following one.)

Most changes are pretty straightforward: only a +1 is needed,
and a few removed from sizing calculations. Some filesystems like UDF
originally passed back the length with the \0 included, so they have
been adjusted further. UFS2 had some other sizing problems which are also
corrected in this commit.


# f11e1314 14-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: Set abs_mnt_point to a non-NULL string.

It seems lowntfs and libntfs-3g kind of assume there is something in here.
This may result in broken links, but that's better than crashing.

Should fix #17400.


# a8261652 12-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: Return better errors and handle volumes without names.

Should fix #17390.

Change-Id: I8db797b29c70b452e98ebadc6825dba7626ad2ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4724
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 91337305 09-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: Prevent moving directories into themselves (even indirectly.)

libntfs does not check for this.


# 5070f597 09-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: New driver glue, write support.

Change-Id: I7f7b1e1a85b2f966209437aa99b536d00623bc03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4696
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 3fbe39e1 29-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

ntfs: New driver glue (read support only.)

* Add some things to config.h for C++ friendliness.

* Import some more GPL code from libntfs into lowntfs.c,
in order to avoid reimplementing it (or copying & pasting,
which would probably make all the glue code GPL.)

* Write an entirely new kernel_interface.cpp, modeled after exfat's
and other newer filesystem drivers. Highlights:
- significant use of C++ RAII objects
- entry_cache support
- file_cache support (thus also read_pages)
- readdir of multiple dirents at once

Most NTFS tickets open at present are related to write support,
and this does not yet have that. It should however be considered
a part of #17165.

Change-Id: I6d5aa53d4d06846b0de5e6ce1431219bf70a6f2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4679
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 7106362e9c7cba9664d8b9c7c6d3cfb47a6f508d 02-Mar-2007 Gerasim Troeglazov <3deyes@gmail.com>

Fixed build for R5 and dano targets. Bug fixes for fs_rename and fs_walk functions. Added simple identify functions for haiku.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20302 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 80bca3d3c8c08d3c9b31d7609a7805941529e9c3 22-Jan-2007 Axel Dörfler <axeld@pinc-software.de>

Added NTFS file system add-on written by Troeglazov Gerasim (a.k.a. 3dEyes**).
It's based on ntfs-3g-0.20070102-BETA, and therefore under the GPL license.
Writing is currently disabled for safety reasons, and you'll have to mount
it manually, as the identify hooks are not yet implemented.
Thanks a lot for your work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19897 a95241bf-73f2-0310-859d-f6bbb57e9c96