2008-08-08 22:32:48

by Alexander Beregalov

[permalink] [raw]
Subject: [PATCH -mm] fs.h: fix build error with !CONFIG_FILE_LOCKING

I am not sure it is a right way to fix it, please review.
Commit 4a70917f881a38ae688c98be9396f0a38f559094
(configure-out-file-locking-features) changed behaviour.

From: Alexander Beregalov <[email protected]>

fs.h: fix build error with !CONFIG_FILE_LOCKING

fs/gfs2/ops_file.c:585: error: implicit declaration of function 'generic_setlease'
fs/gfs2/ops_file.c:637: error: implicit declaration of function '__mandatory_lock'


Signed-off-by: Alexander Beregalov <[email protected]>
---

include/linux/fs.h | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index e9a7a7d..42d9ff9 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1051,6 +1051,8 @@ extern struct seq_operations locks_seq_operations;
#define flock_lock_file_wait(a, b) (-ENOLCK)
#define __break_lease(a, b) (0)
#define lease_get_mtime(a, b)
+#define generic_setlease(a, b, c) (0)
+#define vfs_setlease(a, b, c) (0)
#define lock_may_read(a, b, c) (1)
#define lock_may_write(a, b, c) (1)
#endif /* !CONFIG_FILE_LOCKING */
@@ -1647,6 +1649,7 @@ static inline int break_lease(struct inode *inode, unsigned int mode)
#else /* !CONFIG_FILE_LOCKING */
#define locks_mandatory_locked(a) (0)
#define locks_mandatory_area(a, b, c, d, e) (0)
+#define __mandatory_lock(a) (0)
#define mandatory_lock(a) (0)
#define locks_verify_locked(a) (0)
#define locks_verify_truncate(a, b, c) (0)


2008-08-14 09:19:50

by Thomas Petazzoni

[permalink] [raw]
Subject: Re: [PATCH -mm] fs.h: fix build error with !CONFIG_FILE_LOCKING

Le Sat, 9 Aug 2008 02:32:28 +0400,
Alexander Beregalov <[email protected]> a écrit :

> I am not sure it is a right way to fix it, please review.
> Commit 4a70917f881a38ae688c98be9396f0a38f559094
> (configure-out-file-locking-features) changed behaviour.

I must admit that I'm quite confused by the commit you're referring to.
In which tree is it ?

Anyway, this problem has already been fixed in the latest version of
the patch I sent to LKML on August, 4th:
http://marc.info/?l=linux-kernel&m=121802891417797&w=2

However, I just sent another fixup patch to LKML, required to get NFS
server to compile with CONFIG_FILE_LOCKING=n. For reference, I copy it
below.

Sincerly,

Thomas

---

Fixup configure out fs locks support

This patch adds a few more stubs required to get NFS server to compile
properly with CONFIG_FILE_LOCKING=n.

Signed-off-by: Thomas Petazzoni <[email protected]>

---
include/linux/fs.h | 2 ++
1 file changed, 2 insertions(+)

Index: linuxdev/include/linux/fs.h
===================================================================
--- linuxdev.orig/include/linux/fs.h
+++ linuxdev/include/linux/fs.h
@@ -1050,6 +1050,8 @@
#define __break_lease(a, b) ({ 0; })
#define lease_get_mtime(a, b) ({ })
#define generic_setlease(a, b, c) ({ -EINVAL; })
+#define vfs_setlease(a, b, c) ({ -EINVAL; })
+#define lease_modify(a, b) ({ -EINVAL; })
#define lock_may_read(a, b, c) ({ 1; })
#define lock_may_write(a, b, c) ({ 1; })
#endif /* !CONFIG_FILE_LOCKING */


--
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

2008-08-14 10:51:21

by Alexander Beregalov

[permalink] [raw]
Subject: Re: [PATCH -mm] fs.h: fix build error with !CONFIG_FILE_LOCKING

2008/8/14 Thomas Petazzoni <[email protected]>:> Le Sat, 9 Aug 2008 02:32:28 +0400,> Alexander Beregalov <[email protected]> a écrit :>>> I am not sure it is a right way to fix it, please review.>> Commit 4a70917f881a38ae688c98be9396f0a38f559094>> (configure-out-file-locking-features) changed behaviour.>> I must admit that I'm quite confused by the commit you're referring to.> In which tree is it ?It was in rc1-mm1.
Thanks????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?