Hello Amar,
I do the following in worm_create_cbk:

char *filepath = NULL;
inode_path(inode, NULL, &filepath);
if (!filepath) {
    gf_log(this->name, GF_LOG_ERROR, "Can't get filepath!");
}

Unfortunately I got this in the brick log:
[2020-02-05 10:09:41.880522] E [inode.c:1498:__inode_path]
(-->/usr/lib64/glusterfs/5.11/xlator/features/worm.so(+0xb129)
[0x7f4657df7129] -->/usr/lib64/libglusterfs.so.0(inode_path+0x31)
[0x7f4664e44961] -->/us
r/lib64/libglusterfs.so.0(__inode_path+0x38b) [0x7f4664e448bb] ) 0-:
Assertion failed: 0
[2020-02-05 10:09:41.880580] W [inode.c:1500:__inode_path]
(-->/usr/lib64/glusterfs/5.11/xlator/features/worm.so(+0xb129)
[0x7f4657df7129] -->/usr/lib64/libglusterfs.so.0(inode_path+0x31)
[0x7f4664e44961] -->/us
r/lib64/libglusterfs.so.0(__inode_path+0x3d3) [0x7f4664e44903] )
0-repo2-worm: invalid inode [Invalid argument]
[2020-02-05 10:09:41.880594] E [worm.c:488:worm_create_cbk] 0-repo2-worm:
Can't get filepath!

The inode I use seems to be not valid because inode_path() returns with
error. The same with fd->inode. Is there a way to validate the inode before
passing it to the function?

Regards
David



Am Di., 4. Feb. 2020 um 17:57 Uhr schrieb Amar Tumballi <a...@kadalu.io>:

>
>
> On Tue, Feb 4, 2020 at 7:16 PM David Spisla <spisl...@gmail.com> wrote:
>
>> Dear Gluster Community,
>> in worm_create_cbk a file gets the xattr "trusted.worm_file" and
>> "trusted.start_time" if worm-file-level is enabled. Now I want to exclude
>> some files in a special folder from the WORM function. Therefore I want to
>> check in worm_create_cbk if the file is in this folder or not. But I don't
>> find a parameter where the filepath is stored. So my alternative solution
>> was, to check it in worm_create (via loc->path) and store a boolean value
>> in frame->local. This boolean value will be used in worm_create_cbk later.
>> But its not my favourite solution.
>>
>>
> Do you know how to get the filepath in the cbk function?
>>
>>
> As per FS guidelines, inside the filesystem, we need to handle inodes or
> parent-inode + basename. If you are looking at building a 'path' info in
> create_cbk, then i recommend using 'inode_path()' to build the path as per
> the latest inode table information.
>
> -Amar
>
>
> --
> https://kadalu.io
> Container Storage made easy!
>
>
_______________________________________________

Community Meeting Calendar:

APAC Schedule -
Every 2nd and 4th Tuesday at 11:30 AM IST
Bridge: https://bluejeans.com/441850968


NA/EMEA Schedule -
Every 1st and 3rd Tuesday at 01:00 PM EDT
Bridge: https://bluejeans.com/441850968

Gluster-devel mailing list
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel

Reply via email to