O_DIRECT flag가 있는 unbuffered I/O에서 WRITE가 안되는 문제

antzzang3의 이미지

리눅스 FC6 커널 2.6.18을 사용중입니다.

open 과 write 콜로 파일을 만들고 읽고 쓰고 하는 중인데,

O_DIRECT 플래그만 붙으면 파일이 써지질 않습니다.

open은 되구요.

이렇게 되는 원인이 무엇이 있을까 궁금하네요

이전글을 찾아보니,

dma 관련해서 byte align이 필요하던거 같은데,

512bytes씩 write하도록 되어있습니다.

혹시 몰라서 4092로 바꿔봤는데,

달라지는건 없었습니다.

조언 부탁드려요 ^^;

antzzang3의 이미지

22번 EINVAL 로 나오는데,

MANUAL 에는

The STREAM or multiplexer referenced by fildes is linked downstream grom a multiplexer.

라고 나오네요.

와우.. 무슨 소리인지 ㅠㅠ

배우는 자의 가치에 있어서 현재의 위치는 물론 발전하는 속도도 중요한 factor이다.

antzzang3의 이미지

쓰고자 하는 BUF DATA의 memalign을 안한 거더군요 OTL...

다시 질문을 보니 그런것도 제대로 명시 안하고 조언 구하려고 했다는데 부끄럽네요

그나저나 내심 이번 기회로 kldp 계신분들과 대화트고 싶었는데 아쉽네요 ㅠ 다음 기회가 곧 또 있겠죠 ㅎㅎ

그럼 수고하세요~

배우는 자의 가치에 있어서 현재의 위치는 물론 발전하는 속도도 중요한 factor이다.

go4real의 이미지

O_DIRECT가 안되서 하루 넘게 삽질하고 포기하려든중에
ANTZZANG3님이 쓰신글을 보구 해결했네요
감사합니다~^^

참고로 posix_memalign 요걸 사용했습니다

bushi의 이미지

정적인 공간의 align은...
http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html
x86이 아닌 곳에선 가끔 써야하는 경우가 생기더군요. 꼼수를 부릴 때가 대부분이긴하지만.

OTL

powerson의 이미지


저도 예전 연구실에서 O_DIRECT I/O를 가지고 테스트 코드를 만들면서, memory align으로 고생했던 적이 있는데, 그때 생각이 나네요^^

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.