History log of /haiku/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.h
Revision Date Author Comments
# 469f13fd 25-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: support hard links properly

The main purpose of this patch is to prevent VFS from removing a vnode to early
what might have happened if the NFS client knew it had more than one name but
then one of them was deleted. Moreover, all discovered and still valid names
are stored what may be useful in proper file handle recovery when they are
volatile.

This patch fixes both #9558 and #9561.


# b352cbf6 03-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Introduce VnodeToInode mapping

VnodeToInode is another abstraction layer between VFS vnodes and NFS nodes.
It simplifies dealing with race conditions as well as faking some guarantees
VFS expects but NFS does not provide.


# 81f2b971 01-Nov-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix race condition between inode creation and removal

If the underlying file system reuses inode numbers it is possible that
an entry of inode with reused id in InodeIdMap will be removed.
This patch should also improve behavior when one of many hard links
is removed.


# 1e67a2cd 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add numerous assertion checks


# e8c12d94 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix file handle recovery


# 52aaad17 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use one open state per inode


# 9b7f2d1b 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move file handle recovery code out of Inode class


# e586522b 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use MutexLocker for locking


# 5cf2ee51 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove unused entries from inode number to filehandle map


# c702f887 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for volatile filehandles


# e6e9b107 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Partial support for servers not providing FileId


# 87c6b832 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Inodes should know their name and parent's filehandle


# 7bfa4fe8 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add lookup() and get_vnode() hooks

get_vnode() needs a way to retrieve filehandle knowing only inode number.
Since NFS4 sever does not provide such services client manages its own mapping
between ino_t and filehandles.


# 469f13fdfe886f0eca9cc9204ad2e3da7377f7ba 25-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: support hard links properly

The main purpose of this patch is to prevent VFS from removing a vnode to early
what might have happened if the NFS client knew it had more than one name but
then one of them was deleted. Moreover, all discovered and still valid names
are stored what may be useful in proper file handle recovery when they are
volatile.

This patch fixes both #9558 and #9561.


# b352cbf6ca8ed101ac83e0f87747b8be47dda1df 03-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Introduce VnodeToInode mapping

VnodeToInode is another abstraction layer between VFS vnodes and NFS nodes.
It simplifies dealing with race conditions as well as faking some guarantees
VFS expects but NFS does not provide.


# 81f2b97177995973754f099b35a0cdb66762508d 01-Nov-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix race condition between inode creation and removal

If the underlying file system reuses inode numbers it is possible that
an entry of inode with reused id in InodeIdMap will be removed.
This patch should also improve behavior when one of many hard links
is removed.


# 1e67a2cdd9414d6f699f253161d19d4aa8fe35e6 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add numerous assertion checks


# e8c12d9410d16c9a504198755b85c385e7ab667a 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix file handle recovery


# 52aaad172fd93ba9b286d237dd299746e6458e1b 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use one open state per inode


# 9b7f2d1b24a8f67aacc5f80434f9480a10f88e25 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move file handle recovery code out of Inode class


# e586522b518ec2fcb0212f55f3b83fb09e3516a3 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use MutexLocker for locking


# 5cf2ee51b869a4f024dc29846192ae7662326825 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove unused entries from inode number to filehandle map


# c702f887ad5ef4665e3d45d2e2edda325a9d6290 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for volatile filehandles


# e6e9b107de2da882cfbc24625942ec90f87cd530 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Partial support for servers not providing FileId


# 87c6b83293724346b8b2899fb288fd28d200a5da 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Inodes should know their name and parent's filehandle


# 7bfa4fe80524316059e722a48b93e4266533f4ad 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add lookup() and get_vnode() hooks

get_vnode() needs a way to retrieve filehandle knowing only inode number.
Since NFS4 sever does not provide such services client manages its own mapping
between ino_t and filehandles.