A client entry has a copy of export_perms in it (named client_perms),
but we don't want expire_time_attr to be configurable in the client
block. To do this, we left expire_time_attr out of CONF_EXPORT_PERMS(),
and it's explicitly added to export_params[] and export_update_params[].
This keeps it from being configured in client_perms.
All this is in support/exports.c
Daniel
On 3/4/19 12:37 PM, Marc Eshel wrote:
Thanks for the information, I still don't know what is this
comment
referring to, what is setting client export_perms?
>> Attr_Expiration_Time (should never be set for client
export_perms.
Marc.
Daniel Gryniewicz <dang(a)redhat.com> wrote on 03/04/2019 07:12:09 AM:
> From: Daniel Gryniewicz <dang(a)redhat.com>
> To: Marc Eshel <eshel(a)us.ibm.com>
> Cc: 'Ganesha-devel' <devel(a)lists.nfs-ganesha.org>
> Date: 03/04/2019 07:12 AM
> Subject: Re: expire_time_attr
>
> On 3/1/19 11:45 PM, Marc Eshel wrote:
>> Hi Daniel,
>>
>> I am trying to understand the support for expire_time_attr. First
there is
>> this comment in the code
>>
>> /** Expiration time interval in seconds for attributes. Settable with
>> Attr_Expiration_Time (should never be set for client
export_perms.
>> */
>> int32_t expire_time_attr;
>>
>> But I see this initialization code:
>>
>> #define GLOBAL_EXPORT_PERMS_INITIALIZER \
>> .def.anonymous_uid = ANON_UID, \
>> .def.anonymous_gid = ANON_GID, \
>> .def.expire_time_attr = 60, \
>>
>> My question is in which configuration block you set
Attr_Expiration_Time
>> for export_perms and which block set it for attrlist
>>
>> Thanks, Marc.
>>
>>
>
>
> Attr_Expiration_Time is an export parameter, so it can be set in the
> Export block or the Export_Defaults block. When a new entry is created
> (in mdcache_new_entry()), that value is copied from the export into the
> attrlist for that entry. Thereafter, it's referenced directly from the
> attrlist.
>
> So, it's only configured on an export, but it's referenced from the
> attrlist of the entry itself.
>
> Daniel
>