/share/man/man9/VOP_FSYNC.9

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 93 lines · 93 code · 0 blank · 0 comment · 0 complexity · de507d3bd5cc9b0ee3bdfd46d7ebc73e MD5 · raw file

  1. .\" -*- nroff -*-
  2. .\"
  3. .\" Copyright (c) 1996 Doug Rabson
  4. .\"
  5. .\" All rights reserved.
  6. .\"
  7. .\" This program is free software.
  8. .\"
  9. .\" Redistribution and use in source and binary forms, with or without
  10. .\" modification, are permitted provided that the following conditions
  11. .\" are met:
  12. .\" 1. Redistributions of source code must retain the above copyright
  13. .\" notice, this list of conditions and the following disclaimer.
  14. .\" 2. Redistributions in binary form must reproduce the above copyright
  15. .\" notice, this list of conditions and the following disclaimer in the
  16. .\" documentation and/or other materials provided with the distribution.
  17. .\"
  18. .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
  19. .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  20. .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  21. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
  22. .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  23. .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  24. .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  25. .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  26. .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  27. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28. .\"
  29. .\" $FreeBSD$
  30. .\"
  31. .Dd July 24, 1996
  32. .Dt VOP_FSYNC 9
  33. .Os
  34. .Sh NAME
  35. .Nm VOP_FSYNC
  36. .Nd flush file system buffers for a file
  37. .Sh SYNOPSIS
  38. .In sys/param.h
  39. .In sys/vnode.h
  40. .Ft int
  41. .Fn VOP_FSYNC "struct vnode *vp" "int waitfor" "struct thread *td"
  42. .Sh DESCRIPTION
  43. This call flushes any dirty file system buffers for the file.
  44. It is used to implement the
  45. .Xr sync 2
  46. and
  47. .Xr fsync 2
  48. system calls.
  49. .Pp
  50. Its arguments are:
  51. .Bl -tag -width waitfor
  52. .It Fa vp
  53. The vnode of the file.
  54. .It Fa waitfor
  55. Whether the function should wait for I/O to complete.
  56. Possible values are:
  57. .Bl -tag -width MNT_NOWAIT
  58. .It Dv MNT_WAIT
  59. Synchronously wait for I/O to complete.
  60. .It Dv MNT_NOWAIT
  61. Start all I/O, but do not wait for it.
  62. .It Dv MNT_LAZY
  63. Push data not written by file system syncer.
  64. .El
  65. .It Fa td
  66. The calling thread.
  67. .El
  68. .Pp
  69. The argument
  70. .Fa waitfor
  71. is either
  72. .Dv MNT_WAIT
  73. or
  74. .Dv MNT_NOWAIT
  75. and specifies whether or not the function should wait for the writes
  76. to finish before returning.
  77. .Sh LOCKS
  78. The file should be locked on entry.
  79. .Sh RETURN VALUES
  80. Zero is returned if the call is successful, otherwise an appropriate
  81. error code is returned.
  82. .Sh ERRORS
  83. .Bl -tag -width Er
  84. .It Bq Er ENOSPC
  85. The file system is full.
  86. .It Bq Er EDQUOT
  87. Quota exceeded.
  88. .El
  89. .Sh SEE ALSO
  90. .Xr vnode 9
  91. .Sh AUTHORS
  92. This manual page was written by
  93. .An Doug Rabson .