[LU-646] clarification of lustre fsync behavior Created: 29/Aug/11  Updated: 29/Apr/14  Due: 08/Sep/11  Resolved: 11/Oct/11

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.0.0, Lustre 1.8.6
Fix Version/s: Lustre 2.2.0, Lustre 2.1.2, Lustre 1.8.7

Type: Bug Priority: Minor
Reporter: Lai Siyao Assignee: Lai Siyao
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Bugzilla ID: 23,485
Rank (Obsolete): 4871

 Description   

NASA is asking for clarification of fsync(2) behavior with lustre.

I'll ask the general question and then break it into two parts as we believe there is a bug in one
part.

Firstly, When a user issues an fsync(2) on a regular file descriptor in their code, we do not get a
successful response unless the underlying device, be it a disk or a raid controller(possibly with
battery backed up cache) has received the write and put it either on disk or has it safely in
batter backed up cache. Correct?

Secondly, when an fsync is issued on a directory file descriptor, from the man page:

"Calling fsync() does not necessarily ensure that the entry in the directory containing the
file has also reached disk. For that an explicit fsync() on a file descriptor for the
directory is also needed."

I would assume this does not mean file metadata, correct?

When fsync is called on a directory in a lustre file system we do not get the expected result like
we do for ext3, ext4, or xfs.



 Comments   
Comment by Lai Siyao [ 29/Aug/11 ]

1.8 review is on http://review.whamcloud.com/1308.
2.x review is on http://review.whamcloud.com/1309.

Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,client,el6,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,server,el5,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » i686,client,el5,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » i686,client,el5,ofa #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,client,ubuntu1004,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,client,el5,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » i686,client,el6,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,client,el5,ofa #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » i686,server,el5,inkernel #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » x86_64,server,el5,ofa #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 02/Sep/11 ]

Integrated in lustre-b1_8 » i686,server,el5,ofa #124
LU-646 port bz23485 (clarification of lustre fsync behavior)

Johann Lombardi : 9d92d8bddd3d66374d7303e30650df0c518891bf
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,client,sles11,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = FAILURE
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,client,el6,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,server,el6,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,client,el5,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,server,el6,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,server,el5,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,client,el6,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,client,el5,ofa #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/tests/sanity.sh
  • lustre/llite/dir.c
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,server,el5,ofa #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » x86_64,server,el5,ofa #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,client,el5,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,client,el5,ofa #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = FAILURE
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 27/Oct/11 ]

Integrated in lustre-master » i686,server,el5,inkernel #316
LU-646 port bz23485 (clarification of lustre fsync behavior) (Revision ca3587c56cead648c831d7ec041a512917a3a0ae)

Result = SUCCESS
Oleg Drokin : ca3587c56cead648c831d7ec041a512917a3a0ae
Files :

  • lustre/llite/dir.c
  • lustre/tests/sanity.sh
Comment by Bob Glossman (Inactive) [ 03/May/12 ]

http://review.whamcloud.com/#change,2643
back port to b2_1

Generated at Sat Feb 10 01:09:03 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.