Hello,

Can someone please help me to validate my understading,

1. struct state_t : This represents open state for nfsv4 for given
object. There is one instance per open file - PER client.
   A: This struct is used to find share_share, state_lock and
deligation for given _owner_.

2. struct state_hdl : This maintains state per _file_.
   A: There is only one instance of this object, and is shared accross
the clients
   B: This struct maintains list of locks on that file.

For FSAL which dont support open file description locks, we still need
to maintain one open descriptor per file accross _all_ the clients.

With support_ex ops what is correct way to do it?

As per VFS FSAL code, vfs_locate_state has some code to maintain one
struct accross the process, I am thinking "struct state_hdl" is
correct place to have 'struct vfs_fd' kind to struct to maintain one
global file descriptor. (Becase it will be shared accross all the
clients), Though I see "struct state_t" has "struct vfs_fd" - I think
it is for FSAL which support OFD.

If we append struct vfs_fd to state_hdl there should not be need to
allocate extra space in alloc_state api, and find_fd should always
point to global descriptor from state_hdl struct. or vfs_fd from
state_t should always point to fd from state_hdl.

OR its just we should not use support_ex api with FSAL which dont support OFD?

Tushar

------------------------------------------------------------------------------
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to