Hi, We are hitting following issue on a fsc mounted nfs file system. $cat testfile.txt <-- on client cat: testfile.txt: No such file or directory Then on nfs server testfile.txtx is created. $cat testfile.txt <-- on client (after 8 sec) cat: testfile.txt: No such file or directory $cat testfile.txt <-- on client (after 15-20 sec) This is line one $ This clearly due to negative cookie. I enabled debugging and dmesg showed following: [mount.] ==> __fscache_acquire_cookie({FSDEF.netfs},{NFS.server},ffff88031a7e6c00) [mount.] <== __fscache_acquire_cookie() = ffff88031cd896a8 [mount.] ==> __fscache_acquire_cookie({NFS.server},{NFS.super},ffff88031cb1e400) [mount.] <== __fscache_acquire_cookie() = ffff88031cd89660 [mount.] ==> __fscache_acquire_cookie({NFS.server},{NFS.super},ffff88030a4bdc00) [mount.] <== __fscache_acquire_cookie() = ffff88031cd89ae0 [cat ] ==> __fscache_acquire_cookie({NFS.super},{NFS.fh},ffff8801fe73a0c0) [cat ] ==> fscache_acquire_non_index_cookie() [cat ] ==> fscache_select_cache_for_object() [cat ] <== fscache_select_cache_for_object() = ffff88031ac47a00 [parent] [cat ] cache mycache [cat ] ==> fscache_alloc_object(ffff88031ac47a00,ffff88031cd89cd8{NFS.fh}) [cat ] ALLOC OBJ12: NFS.fh {0} [cat ] ==> fscache_alloc_object(ffff88031ac47a00,ffff88031cd89fa8{NFS.super}) [cat ] <== fscache_alloc_object() = 0 [found] [cat ] ==> fscache_attach_object({NFS.fh},{OBJ12}) [cat ] <== fscache_attach_object() = 0 [cat ] <== fscache_alloc_object() = 0 [cat ] ==> fscache_enqueue_object({OBJ12}) [cat ] <== fscache_acquire_non_index_cookie() = 0 [deferred] [cat ] <== __fscache_acquire_cookie() = ffff88031cd89cd8 [cat ] ==> __fscache_read_or_alloc_pages(ffff88031cd89cd8,,1,,,) [cat ] ==> fscache_wait_for_deferred_lookup() [kworke] ==> fscache_object_work_func({OBJ12}) [kworke] ==> fscache_object_state_machine({OBJ12,OBJECT_INIT,0}) [kworke] ==> fscache_initialise_object() [kworke] parent OBJECT_ACTIVE [kworke] go [kworke] <== fscache_initialise_object() [kworke] <== fscache_object_state_machine() [->OBJECT_LOOKING_UP] [kworke] ==> fscache_enqueue_object({OBJ12}) [kworke] ==> fscache_object_work_func({OBJ12}) [kworke] ==> fscache_object_state_machine({OBJ12,OBJECT_LOOKING_UP,0}) [kworke] ==> fscache_lookup_object() [kworke] LOOKUP "NFS.super/NFS.fh" in "mycache" [kworke] ==> fscache_object_lookup_negative({OBJ12,OBJECT_LOOKING_UP}) [kworke] wake up lookup ffff88031cd89d18 [kworke] <== fscache_object_lookup_negative() [kworke] ==> fscache_obtained_object({OBJ12,OBJECT_CREATING}) [kworke] <== fscache_obtained_object() [kworke] <== fscache_lookup_object() [kworke] <== fscache_object_state_machine() [->OBJECT_AVAILABLE] [cat ] <== fscache_wait_for_deferred_lookup() = 0 [dly] [kworke] ==> fscache_enqueue_object({OBJ12}) [cat ] ==> fscache_submit_op({OBJ12 OP23},{1}) [kworke] ==> fscache_object_work_func({OBJ12}) [cat ] - mark ffffea0006e7f1c0{0} [cat ] ==> fscache_put_operation({OBJ12 OP23,1}) [cat ] PUT OP [cat ] ==> fscache_release_retrieval_op({OP23}) [cat ] <== fscache_release_retrieval_op() [kworke] ==> fscache_object_state_machine({OBJ12,OBJECT_AVAILABLE,0}) [kworke] ==> fscache_object_available({OBJ12}) [kworke] ==> fscache_done_parent_op(OBJ12 {OBJ6,1}) [kworke] ==> fscache_enqueue_dependents({OBJ12}) [cat ] woke 0 ops on OBJ12 [cat ] <== fscache_put_operation() [done] [cat ] <== __fscache_read_or_alloc_pages() = -61 [kworke] <== fscache_object_available() [kworke] <== fscache_object_state_machine() [->OBJECT_ACTIVE] [kworke] ==> __fscache_write_page(ffff88031cd89cd8,1009,) [kworke] store limit 1 [kworke] ==> fscache_submit_op({OBJ12 OP25},{1}) [kworke] ==> fscache_enqueue_operation({OBJ12 OP25,1}) [kworke] queue async [kworke] ==> fscache_put_operation({OBJ12 OP25,2}) [kworke] <== __fscache_write_page() = 0 [kworke] ==> fscache_op_work_func({OBJ12 OP25,1}) [kworke] ==> fscache_write_op({OP25,1}) [kworke] gang 1 [0] [kworke] ==> fscache_enqueue_operation({OBJ12 OP25,1}) [kworke] queue async [kworke] <== fscache_write_op() [kworke] ==> fscache_put_operation({OBJ12 OP25,2}) [kworke] <== fscache_op_work_func() [kworke] ==> fscache_op_work_func({OBJ12 OP25,1}) [kworke] ==> fscache_write_op({OP25,1}) [kworke] cease [kworke] <== fscache_write_op() [kworke] ==> fscache_put_operation({OBJ12 OP25,1}) [kworke] PUT OP [kworke] ==> fscache_release_write_op({OP25}) [kworke] woke 0 ops on OBJ12 [kworke] <== fscache_put_operation() [done] [kworke] <== fscache_op_work_func() [umount] ==> __fscache_relinquish_cookie(ffff88031cd89ae0{NFS.super,ffff88030a4bdc00},0) [umount] ==> __fscache_cookie_put(ffff88031cd89ae0) [umount] FREE COOKIE ffff88031cd89ae0 [umount] <== __fscache_cookie_put() [umount] <== __fscache_relinquish_cookie() [umount] ==> __fscache_relinquish_cookie(ffff88031cd89660{NFS.super,ffff88031cb1e400},0) [umount] ==> __fscache_cookie_put(ffff88031cd89660) [umount] FREE COOKIE ffff88031cd89660 [umount] <== __fscache_cookie_put() [umount] <== __fscache_relinquish_cookie() [umount] ==> __fscache_relinquish_cookie(ffff88031cd896a8{NFS.server,ffff88031a7e6c00},0) [umount] ==> __fscache_cookie_put(ffff88031cd896a8) [umount] FREE COOKIE ffff88031cd896a8 [umount] <== __fscache_cookie_put() [umount] <== __fscache_relinquish_cookie() My question is : 1. Is there a way to set a minimum file size for fs-cache? 2. Is there a way to change/tune negative cookie refresh time? Thanks in advance, Amit -- Linux-cachefs mailing list Linux-cachefs@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cachefs