Thread (2 messages) 2 messages, 2 authors, 2011-04-27

Re: [PATCH v2] fadvise: introduce POSIX_FADV_DONTNEED_FS

flat view

From: Mike Frysinger <hidden>
Date: 2011-04-27 18:39:53
Also in: linux-fsdevel, lkml

On Wed, Apr 27, 2011 at 14:33, Matthew Wilcox wrote:
On Wed, Apr 27, 2011 at 08:13:47PM +0200, Andrea Righi wrote:
quoted
@@ -127,6 +128,12 @@ SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice)
                      invalidate_mapping_pages(mapping, start_index,
                                              end_index);
              break;
+     case POSIX_FADV_DONTNEED_FS:
+             if (capable(CAP_SYS_ADMIN))
+                     drop_pagecache_sb(file->f_dentry->d_sb, NULL);
+             else
+                     ret = -EPERM;
+             break;
      default:
              ret = -EINVAL;
      }
Mmm ... what if I open /dev/sdxyz and call fadvise() on it?  I think
you end up flushing /dev's page cache entries, instead of the filesystem
which is on /dev/sdxyz.
i was thinking of that, but was trying to come up with situations
where there might not have a node to work on.  fs's in a file go
through loop devs, dm/lvm have ones created, and flash fs's still have
a mtd block.  how about network based fs's ?  how you going to signal
dropping of pages for nfs or cifs or fuse ones ?
-mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help