X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fnfs%2Fnamespace.c;h=acfc56f9edc04c53b25efaffeb80eb0ba9d887c5;hb=0fd5355470ea40355b8af76d01748ec7b9926d4d;hp=5ed798bc1cf7f7e75dad6f6387694631f5ee9497;hpb=52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c;p=linux-2.6 diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index 5ed798bc1c..acfc56f9ed 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c @@ -18,11 +18,10 @@ #define NFSDBG_FACILITY NFSDBG_VFS -static void nfs_expire_automounts(void *list); +static void nfs_expire_automounts(struct work_struct *work); LIST_HEAD(nfs_automount_list); -static DECLARE_DELAYED_WORK(nfs_automount_task, nfs_expire_automounts, - &nfs_automount_list); +static DECLARE_DELAYED_WORK(nfs_automount_task, nfs_expire_automounts); int nfs_mountpoint_expiry_timeout = 500 * HZ; static struct vfsmount *nfs_do_submount(const struct vfsmount *mnt_parent, @@ -156,18 +155,18 @@ out_follow: goto out; } -struct inode_operations nfs_mountpoint_inode_operations = { +const struct inode_operations nfs_mountpoint_inode_operations = { .follow_link = nfs_follow_mountpoint, .getattr = nfs_getattr, }; -struct inode_operations nfs_referral_inode_operations = { +const struct inode_operations nfs_referral_inode_operations = { .follow_link = nfs_follow_mountpoint, }; -static void nfs_expire_automounts(void *data) +static void nfs_expire_automounts(struct work_struct *work) { - struct list_head *list = (struct list_head *)data; + struct list_head *list = &nfs_automount_list; mark_mounts_for_expiry(list); if (!list_empty(list)) @@ -176,10 +175,8 @@ static void nfs_expire_automounts(void *data) void nfs_release_automount_timer(void) { - if (list_empty(&nfs_automount_list)) { + if (list_empty(&nfs_automount_list)) cancel_delayed_work(&nfs_automount_task); - flush_scheduled_work(); - } } /*