History log of /haiku/src/build/libroot/fs_descriptors.cpp
Revision Date Author Comments
# 3da422ad 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

libroot_build: Fix issues with attribute FD for symlink

AttributeDescriptor: Don't use dup() directly. Check, if the given FD is
one we track and clone it respectively. This allows use with symlink FDs
which we have to fake on Linux (since symlinks cannot be opened). Fixes
extraction of packages containing symlinks with attributes.


# 0fbcad54 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add helper is_unknown_or_system_descriptor()


# 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.


# 18d457f8 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add helper is_unknown_or_system_descriptor()


# 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.


# 8e27997c 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

Prefer NULL over 0 and not need to initialize globals with zero as pointed
out by Axel.

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


# 7db9e218 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* rc uses a global instance of BResources. On destruction it calls Unset() of the BFile member fFile. BNode::Unset then calls close_fd(), which parses the static global DescriptorMap to actually close the descriptor. However on Cygwin the DescriptorMap has been destroyed already for some reason, thus accessing it is invalid. The "fix" is to put the map on the heap and delete it as soon as it gets empty. This way the global BResources instance can be freed without a crash.
* If someone likes to review, feel free to, it didn't cause any issues here


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26585 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


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

libroot_build.so:
* Reorganized sources a bit:
- The descriptor support is in a separate file now.
- Disentangled the attribute support from the other stuff.
* Removed broken xattr use for attribute support.


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


# 3da422ad05c1cf00bf02707d3b1bd4accdc0c378 24-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

libroot_build: Fix issues with attribute FD for symlink

AttributeDescriptor: Don't use dup() directly. Check, if the given FD is
one we track and clone it respectively. This allows use with symlink FDs
which we have to fake on Linux (since symlinks cannot be opened). Fixes
extraction of packages containing symlinks with attributes.


# 0fbcad54be4afe325c4b882aad20b8811470ae1b 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add helper is_unknown_or_system_descriptor()


# 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.


# 18d457f8b22dca3069a9e9b7c9701f4c040093b9 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add helper is_unknown_or_system_descriptor()


# 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.


# 8e27997c008ba188cd11528df6bad04dc2996941 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

Prefer NULL over 0 and not need to initialize globals with zero as pointed
out by Axel.

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


# 7db9e218e477c4dc19042f95391a9712cc1bc4d2 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* rc uses a global instance of BResources. On destruction it calls Unset() of the BFile member fFile. BNode::Unset then calls close_fd(), which parses the static global DescriptorMap to actually close the descriptor. However on Cygwin the DescriptorMap has been destroyed already for some reason, thus accessing it is invalid. The "fix" is to put the map on the heap and delete it as soon as it gets empty. This way the global BResources instance can be freed without a crash.
* If someone likes to review, feel free to, it didn't cause any issues here


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26585 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


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

libroot_build.so:
* Reorganized sources a bit:
- The descriptor support is in a separate file now.
- Disentangled the attribute support from the other stuff.
* Removed broken xattr use for attribute support.


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