From 2baeaf38f3d9ace1fb06fdd2f84294c311bf33bf Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 2 Oct 2009 15:23:22 +0200 Subject: [PATCH] fs: replace broken dev_protect with protect_file function Signed-off-by: Sascha Hauer --- fs/fs.c | 15 +++++++++++++++ include/fs.h | 1 + 2 files changed, 16 insertions(+) diff --git a/fs/fs.c b/fs/fs.c index 7c1f18eba..841706704 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -605,6 +605,21 @@ int protect(int fd, size_t count, unsigned long offset, int prot) } EXPORT_SYMBOL(protect); +int protect_file(const char *file, int prot) +{ + int fd, ret; + + fd = open(file, O_WRONLY); + if (fd < 0) + return fd; + + ret = protect(fd, ~0, 0, prot); + + close(fd); + + return ret; +} + void *memmap(int fd, int flags) { struct device_d *dev; diff --git a/include/fs.h b/include/fs.h index 552c4e94b..4c03978a0 100644 --- a/include/fs.h +++ b/include/fs.h @@ -132,6 +132,7 @@ int umount(const char *pathname); /* not-so-standard functions */ int erase(int fd, size_t count, unsigned long offset); int protect(int fd, size_t count, unsigned long offset, int prot); +int protect_file(const char *file, int prot); void *memmap(int fd, int flags); #define PROT_READ 1