All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: cifs: Strange O_DIRECT behaviour on non-directio mounts
Date: Fri, 27 Jun 2014 13:14:12 +0200	[thread overview]
Message-ID: <20140627111412.GC5223@noname.redhat.com> (raw)

Hi Steve,

I just discussed a problem with a qemu user on IRC, which boiled down to
him trying to open an image file on cifs with O_DIRECT, but not using a
directio mount. I understand that this probably isn't going to work
anytime soon (if at all), but it resulted in a rather unhelpful failure
mode.

What happens is that cifs lets the open() call succeed even with the
unsupported O_DIRECT on that mount, but then fails any I/O on the file
descriptor. I believe this was introduced in commit dca69288 (which I
think is otherwise pretty useful).

With the old behaviour, qemu detected what's going on and suggested to
use a non-O_DIRECT mode to the user, but with the new one, it got rather
unhappy after failing to find a working O_DIRECT alignment and ran into
an assertion failure...

Now I'll certainly fix the latter in qemu, but I also think that the
behaviour of cifs is rather surprising. Any chance that you can make
open() with O_DIRECT fail again on non-directio mounts?

Thanks,
Kevin

             reply	other threads:[~2014-06-27 11:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-27 11:14 Kevin Wolf [this message]
     [not found] ` <20140627111412.GC5223-LVckRYR5CXkXGNroddHbYwC/G2K4zDHf@public.gmane.org>
2014-07-16 10:02   ` cifs: Strange O_DIRECT behaviour on non-directio mounts Kevin Wolf
2014-07-16 18:15   ` Steve French
     [not found]     ` <CAH2r5mtLNSVua=tHtE_-nDu93_kiwU3sJf8EsiSdvY9EUiqQZA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-16 19:23       ` Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140627111412.GC5223@noname.redhat.com \
    --to=kwolf-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.