History log of /haiku/src/build/libroot/fs_attr_generic.cpp
Revision Date Author Comments
# f6381021 22-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

Remove conditions for HOST_PLATFORM=msys.

It never really worked beyond the most basic of commands
and required a lot of hacks, and these days WSL should be used instead.


# 7a617f59 03-May-2020 Augustin Cavalier <waddlesplash@gmail.com>

configure & build: Add basic support for building with MSYS.

Also remove the MINGW support, as it was far too incomplete.

This *should* work under case-sensitive NTFS, but instead,
it seems #14963 occurs. So perhaps there is a GCC bug
related to case-sensitive vs. case-insensitivity after all.


# bc96e8f3 06-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more robust generic attribute emulation variant

The new configure option "--use-xattr-ref" enables an xattr assisted
variant of the generic attribute emulation. Instead of using the inode
ID of a node to identify its attribute directory, we use a reasonably
unique random 128 bit number, which we generate and attach as an
attribute to the node. This way, when a node changes its inode ID
(defragmentation?) or the inode ID of a removed node with a left-over
attribute directory is reused, attributes won't get mixed up.

The old method is still used for symlinks (since on Linux only
priviledged users can write attributes on symlinks), but those usually
only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be
that problematic anyway.


# 259046a3 05-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix build without xattrs being used

* need to invoke fs_fopen_attr() instead of fs_open_attr()


# d68eb11d 27-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

fs_attr_generic.cpp: Fix warning


# 8cdc273a 25-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Build fix part 1: update generic fs-attr code


# d9516a06 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Open/close attribute support for xattrs backend

For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr()
and fs_close_attr(). A new AttributeDescriptor is created. It is
currently used in write_pos() only.


# e781b1b5 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Open/close attribute support for xattrs backend

For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr()
and fs_close_attr(). A new AttributeDescriptor is created. It is
currently used in write_pos() only.


# ddfa870b 05-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Set native eol-style (CR/LF issues).



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


# b78dc1e8 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Generic attribute emulation: Export function __get_attribute_dir_path()
which returns the attribute directory for a given file's stat.


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


# 0c9373b7 30-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the BUILDING_FS_SHELL guarded code. It was needed for the old
FS shell only.
* Accessing attributes of symlinks was broken.


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


# 4f4e5272 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


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


# bc96e8f30cd209672c33293f0e5c71e81027d3e2 06-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more robust generic attribute emulation variant

The new configure option "--use-xattr-ref" enables an xattr assisted
variant of the generic attribute emulation. Instead of using the inode
ID of a node to identify its attribute directory, we use a reasonably
unique random 128 bit number, which we generate and attach as an
attribute to the node. This way, when a node changes its inode ID
(defragmentation?) or the inode ID of a removed node with a left-over
attribute directory is reused, attributes won't get mixed up.

The old method is still used for symlinks (since on Linux only
priviledged users can write attributes on symlinks), but those usually
only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be
that problematic anyway.


# 259046a38810367985e7e9f89b90d769eb6380ce 05-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix build without xattrs being used

* need to invoke fs_fopen_attr() instead of fs_open_attr()


# d68eb11df97e62de38199b0408f056c98275d5d2 27-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

fs_attr_generic.cpp: Fix warning


# 8cdc273ad37c13a93d34ad5080c4c595ee9df34c 25-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Build fix part 1: update generic fs-attr code


# d9516a06cccdc8a5d0d88ccb658b98080b2af5f0 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Open/close attribute support for xattrs backend

For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr()
and fs_close_attr(). A new AttributeDescriptor is created. It is
currently used in write_pos() only.


# e781b1b5a801e6fe2f364a302e3201458b07e58f 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Open/close attribute support for xattrs backend

For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr()
and fs_close_attr(). A new AttributeDescriptor is created. It is
currently used in write_pos() only.


# ddfa870bb506c037a1eaf64e928f7dc8f38b7d9b 05-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Set native eol-style (CR/LF issues).



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


# b78dc1e8dd739cc6f60bedee9528c8bbebfa1fb0 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Generic attribute emulation: Export function __get_attribute_dir_path()
which returns the attribute directory for a given file's stat.


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


# 0c9373b72c2cc1ce4405d8b889ec3ab08d6bf006 30-Nov-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the BUILDING_FS_SHELL guarded code. It was needed for the old
FS shell only.
* Accessing attributes of symlinks was broken.


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


# 4f4e5272fc99dc6b2c6004c2c4f5dcff565ff6a4 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


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