Bug 761990 (GLUSTER-258)

Summary: 'ls -l' on a directory containing very large number of files hangs.
Product: [Community] GlusterFS Reporter: Raghavendra G <raghavendra>
Component: stat-prefetchAssignee: Raghavendra G <raghavendra>
Status: CLOSED NOTABUG QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: mainline   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Raghavendra G 2009-09-11 13:42:59 UTC
Configuration: fuse->stat-prefetch->client->server

(gdb) bt
#0  0xb7de8372 in _int_free () from /lib/libc.so.6
#1  0xb7dec370 in free () from /lib/libc.so.6
#2  0xb7f349a8 in sp_cache_remove_entry (cache=0x8095348, name=0x0, remove_all=1 '\001')
    at ../../../../../xlators/performance/stat-prefetch/src/stat-prefetch.c:67
#3  0xb7f34b01 in sp_cache_free (cache=0x8095348)
    at ../../../../../xlators/performance/stat-prefetch/src/stat-prefetch.c:114
#4  0xb7f34c4f in sp_fd_ctx_free (fd_ctx=0x8090170)
    at ../../../../../xlators/performance/stat-prefetch/src/stat-prefetch.c:166
#5  0xb7f3ce35 in sp_release (this=0x8056690, fd=0x8095170)
    at ../../../../../xlators/performance/stat-prefetch/src/stat-prefetch.c:1766
#6  0xb7f13739 in fd_destroy (fd=0x8095170) at ../../../libglusterfs/src/fd.c:406
#7  0xb7f138fb in fd_unref (fd=0x8095170) at ../../../libglusterfs/src/fd.c:448
#8  0xb75061ac in free_state (state=0xb5a3af80) at ../../../../../xlators/mount/fuse/src/fuse-bridge.c:180
#9  0xb750f3f4 in fuse_releasedir (this=0x8051c70, finh=0xb01185a0, msg=0xb01185c8)
    at ../../../../../xlators/mount/fuse/src/fuse-bridge.c:2040
#10 0xb7512b59 in fuse_thread_proc (data=0x8051c70) at ../../../../../xlators/mount/fuse/src/fuse-bridge.c:2902
#11 0xb7ece383 in start_thread () from /lib/libpthread.so.0
#12 0xb7e5305e in clone () from /lib/libc.so.6
(gdb) p *entry
$4 = {{list = {next = 0xb224df28, prev = 0xb224df28}, {next = 0xb224df28, prev = 0xb224df28}}, d_ino = 2048894, 
  d_off = 830864993, d_len = 6, d_type = 0, d_stat = {st_dev = 2052, __pad1 = 0, __st_ino = 0, st_mode = 33188, 
    st_nlink = 1, st_uid = 1000, st_gid = 100, st_rdev = 0, __pad2 = 0, st_size = 0, st_blksize = 4096, 
    st_blocks = 0, st_atim = {tv_sec = 1251197749, tv_nsec = 0}, st_mtim = {tv_sec = 1251197749, tv_nsec = 0}, 
    st_ctim = {tv_sec = 1251197749, tv_nsec = 0}, st_ino = 2048894}, d_name = 0xb224dfa8 "116819"}
(gdb) info thr
  3 Thread 0xb7503b90 (LWP 17889)  0xb7e1279c in nanosleep () from /lib/libc.so.6
* 2 Thread 0xb6cddb90 (LWP 17891)  0xb7de8372 in _int_free () from /lib/libc.so.6
  1 Thread 0xb7d7cae0 (LWP 17888)  0xb7e5384c in epoll_wait () from /lib/libc.so.6

Comment 1 Raghavendra G 2009-09-23 05:22:09 UTC
ls -l actually does not hang. The number of entries in the directory is so large that it takes around 4hrs to complete. Same behaviour is observed even without stat-prefetch. Hence marking this bug invalid.