[PATCH mmotm 0/6] nilfs2 ioctl cleanups (change ioctl API)

From: Ryusuke Konishi
Date: Tue Feb 17 2009 - 03:11:48 EST


This patch set takes some review comments and correct compatibility
problems on ioctl of the nilfs2 filesystem.

Due to improper design of the previous interface, it had arch
dependent problems such as variable sized fields or alignment issue of
structures. This resolves them and eliminates compat code.

This will once break ioctl-API compatibility and require update of
userland tools. However, I think it is better if I just straighten
things out and release new nilfs-utils. The disk format has not
changed by this.

In addition to the related modifications, one or two changes that need
revision of the ioctl API are included together to take this occasion.

Summary of changes:

* use fixed sized types and fix alignment issues for ioctl
structures.
* remove compat ioctl code.
* use ->unlocked_ioctl instead of ->ioctl to avoid BKL.
* remove TIMEDWAIT ioctl command which has been used to give a
poll-like feature to userland cleaner program.
* convert BUG_ON() and BUG() calls to proper error handlings or
WARN_ON() calls; this will prevent ioctls from triggering the
formers.
* add an argument to nilfs_sustat ioctl structure to simplify
management of state whether each segment (disk region) is
reclaimable or not.

The corresponding userland package (nilfs-utils) is available from
git repos on the following site:

http://www.nilfs.org/git/

Thanks to Pekka Enberg, Chris Mason and people giving us feedback.

Regards,
Ryusuke Konishi
---

fs/nilfs2/btree.c | 27 +--
fs/nilfs2/cpfile.c | 38 +++--
fs/nilfs2/dat.c | 15 +-
fs/nilfs2/dir.c | 4 +-
fs/nilfs2/direct.c | 13 +-
fs/nilfs2/file.c | 4 +-
fs/nilfs2/inode.c | 19 +--
fs/nilfs2/ioctl.c | 401 ++++++---------------------------------------
fs/nilfs2/mdt.c | 4 +-
fs/nilfs2/nilfs.h | 4 +-
fs/nilfs2/page.c | 10 +-
fs/nilfs2/recovery.c | 35 ++--
fs/nilfs2/segment.c | 122 ++++----------
fs/nilfs2/sufile.c | 33 +++--
fs/nilfs2/super.c | 12 +-
fs/nilfs2/the_nilfs.c | 19 --
fs/nilfs2/the_nilfs.h | 11 +-
include/linux/nilfs2_fs.h | 96 ++---------
18 files changed, 213 insertions(+), 654 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/