Skip to contentSkip to conversation

remove useless mnt_want_write call in xfs_write

PATCH Christoph Hellwig 2 participants 3 messages Sep 29, 2008 – Dec 1, 2008 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

Any chance to get this into the git tree for the first 2.6.28 pull?

Quoted 26 lines · Christoph Hellwig

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.

fs/xfs/linux-2.6/xfs_lrw.c +0 -4
@@ -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.

fs/xfs/linux-2.6/xfs_lrw.c start: · line 674

Quoted 10 lines
fs/xfs/linux-2.6/xfs_lrw.c +1 -5
-	 */
-	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

---end quoted text---

#2 lore raw

ping?

Quoted 37 lines · Christoph Hellwig

Any chance to get this into the git tree for the first 2.6.28 pull?

Quoted 34 lines · Christoph Hellwig

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.

fs/xfs/linux-2.6/xfs_lrw.c +1 -9
@@ -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);
-	}
 
Quoted 5 lines

fs/xfs/linux-2.6/xfs_lrw.c start: · line 674

Quoted 2 lines
fs/xfs/linux-2.6/xfs_lrw.c +0 -0
 	/*
 	 * If the offset is beyond the size of the file, we have a couple

---end quoted text---

---end quoted text---

#3 lore raw

ping^2?

Note that with the new git tree it's also not just mainline only anymore.

Quoted 40 lines · Christoph Hellwig

ping?

Quoted 37 lines · Christoph Hellwig

Any chance to get this into the git tree for the first 2.6.28 pull?

Quoted 34 lines · Christoph Hellwig

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.

fs/xfs/linux-2.6/xfs_lrw.c +1 -9
@@ -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);
-	}
 
Quoted 8 lines
Quoted 5 lines

fs/xfs/linux-2.6/xfs_lrw.c start: · line 674

Quoted 2 lines
fs/xfs/linux-2.6/xfs_lrw.c +0 -0
 	/*
 	 * If the offset is beyond the size of the file, we have a couple

---end quoted text---

---end quoted text---

---end quoted text---

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs