[Bug 266886] [FUSEFS] Handling of l_whence with fcntl(F_GETLK)
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 266886] [FUSEFS] Handling of l_whence with fcntl(F_GETLK)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Oct 2022 04:03:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266886 --- Comment #2 from John Millikin <jmillikin@gmail.com> --- I think my initial message was partially incorrect -- the offsets are being calculated correctly, it's just that `l_whence` doesn't get set to `SEEK_SET` when the call is complete. /* &fl populated per your example */ fcntl(fd, F_GETLK, &fl)); /* fuse server request and response RECV fuse_lk_in { lk: fuse_file_lock { start: 500, end: 509, .. }, .. } SEND fuse_lk_out { lk: fuse_file_lock { start: 500, end: 509, .. } } */ ASSERT_EQ(fl.l_start, 500); ASSERT_EQ(fl.l_len, 10); ASSERT_EQ(fl.l_whence, SEEK_SET); /* fails */ In other words, I would expect one of the following to be true after fcntl returns: 1. l_start is an absolute location within the file, and l_whence is SEEK_SET. 2. l_start is relative to the file position, and l_whence is SEEK_CUR. -- You are receiving this mail because: You are the assignee for the bug.