Project

General

Profile

Actions

Bug #11011

closed

Client doesn't progress after truncate until next tick

Added by John Spray about 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Noticed this while trying to reproduce something else: mount a fuse client, and run:

while(true) ; do date ; echo "foo" > myfile ; echo > myfile ; done

Notice that the loop only makes it around about every 5 seconds -- something is waiting for a tick instead of happening immediately. It's something around the truncation.

Actions #1

Updated by John Spray about 9 years ago

the trouble is that do_open_truncate is giving an early reply, so journal_and_reply isn't bothering to call mdlog->flush. However, the truncate (and resulting issue of some caps back to the client) doesn't happen until the log is flushed (i.e. C_MDS_inode_update_finish) is called.

Actions #2

Updated by John Spray about 9 years ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by Zheng Yan about 9 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF