text: When mnt_want_write was introduced a call to it was added around
  xfs_ichgtime, but there is no need for this because a file can't be open
  read/write on a r/o mount, and a mount can't degrade r/o while we still
  have files open for writing. As the mnt_want_write changes were never
  merged into the CVS tree this patch is for mainline only.
  Signed-off-by: Christoph Hellwig <hch@xxxxxx>
  --- linux-2.6/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:52:15.000000000
  -0300
  +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_lrw.c 2008-08-14 14:54:53.000000000
  -0300
  @@ -51,7 +51,6 @@
  #include "xfs_vnodeops.h"
  #include <linux/capability.h>
  -#include <linux/mount.h>
  #include <linux/writeback.h>
  @@ -668,15 +667,8 @@ start:
  if (new_size > xip->i_size)
  xip->i_new_size = new_size;
  - /*
  - * We're not supposed to change timestamps in readonly-mounted
  - * filesystems. Throw it away if anyone asks us.
  - */
  - if (likely(!(ioflags & IO_INVIS) &&
  - !mnt_want_write(file->f_path.mnt))) {
  + if (likely(!(ioflags & IO_INVIS)))
  xfs_ichgtime(xip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
  - mnt_drop_write(file->f_path.mnt);
  - }
  /*
  * If the offset is beyond the size of the file, we have a couple
  --