linux-fsdevel mailing list

FromSubjectsort iconDate
David Howells
[PATCH 16/37] CacheFiles: Be consistent about the use of ...
Change all the usages of file->f_mapping in ext3_*write_end() functions to use the mapping argument directly. This has two consequences: (*) Consistency. Without this patch sometimes one is used and sometimes the other is. (*) A NULL file pointer can be passed. This feature is then made use of by the generic hook in the next patch, which is used by CacheFiles to write pages to a file without setting up a file struct. Signed-off-by: David Howells ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 19/37] CacheFiles: Export things for CacheFiles
Export a number of functions for CacheFiles's use. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/super.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/fs/super.c b/fs/super.c index 88811f6..1133b43 100644 --- a/fs/super.c +++ b/fs/super.c @@ -267,6 +267,7 @@ int fsync_super(struct super_block *sb) __fsync_super(sb); return sync_blockdev(sb->s_bdev); } +EXPORT_SYMBOL_GPL(fsync_super); /** * generic_shutdown_super - common helper for ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 18/37] CacheFiles: Permit the page lock state to ...
Add a function to install a monitor on the page lock waitqueue for a particular page, thus allowing the page being unlocked to be detected. This is used by CacheFiles to detect read completion on a page in the backing filesystem so that it can then copy the data to the waiting netfs page. Signed-off-by: David Howells <dhowells@redhat.com> --- include/linux/pagemap.h | 5 +++++ mm/filemap.c | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diff ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 08/37] Security: Add a kernel_service object clas ...
Add a 'kernel_service' object class to SELinux and give this object class two access vectors: 'use_as_override' and 'create_files_as'. The first vector is used to grant a process the right to nominate an alternate process security ID for the kernel to use as an override for the SELinux subjective security when accessing stuff on behalf of another process. For example, CacheFiles when accessing the cache on behalf on a process accessing an NFS file needs to use a subjective security ID ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 24/37] NFS: Register NFS for caching and retrieve ...
Register NFS for caching and retrieve the top-level cache index object cookie. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/Makefile | 1 + fs/nfs/fscache-index.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/fscache.h | 35 ++++++++++++++++++++++++++++++++ fs/nfs/inode.c | 8 +++++++ 4 files changed, 97 insertions(+), 0 deletions(-) create mode 100644 fs/nfs/fscache-index.c create mode 100644 fs/nfs/fscache.h diff ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 00/37] Permit filesystem local caching
These patches add local caching for network filesystems such as NFS. The patches can roughly be broken down into a number of sets: (*) 01-keys-inc-payload.diff (*) 02-keys-search-keyring.diff (*) 03-keys-callout-blob.diff Three patches to the keyring code made to help the CIFS people. Included because of patches 05-08. (*) 04-keys-get-label.diff A patch to allow the security label of a key to be retrieved. Included because of patches 05-08. (*) ...
Feb 20, 9:05 am 2008
David Howells
[PATCH 30/37] NFS: Add some new I/O event counters for F ...
Add some new NFS I/O event counters for FS-Cache events. They have to be added as byte counters because I may need to be able to increase the numbers by more than 1 at a time. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/iostat.h | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/fs/nfs/iostat.h b/fs/nfs/iostat.h index 6350ecb..0e3b170 100644 --- a/fs/nfs/iostat.h +++ b/fs/nfs/iostat.h @@ -60,6 +60,13 @@ enum nfs_stat_bytecounters { ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 29/37] NFS: Invalidate FsCache page flags when ca ...
Invalidate the FsCache page flags on the pages belonging to an inode when the cache backing that NFS inode is removed. This allows a live cache to be withdrawn. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/fscache-index.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/fs/nfs/fscache-index.c b/fs/nfs/fscache-index.c index c3c63fa..eec8e7e 100644 --- a/fs/nfs/fscache-index.c +++ ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 34/37] NFS: Read pages from FS-Cache into an NFS inode
Read pages from an FS-Cache data storage object representing an inode into an NFS inode. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/fscache.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/fscache.h | 47 +++++++++++++++++++++++ fs/nfs/read.c | 18 +++++++++ 3 files changed, 176 insertions(+), 1 deletions(-) diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c index d475ff5..438cc9b 100644 --- a/fs/nfs/fscache.c +++ b/fs/nfs/fscache.c @@ ...
Feb 20, 9:09 am 2008
David Howells
[PATCH 21/37] NFS: Add comment banners to some NFS functions
Add comment banners to some NFS functions so that they can be modified by the NFS fscache patches for further information. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/file.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index ef57a5a..26a073b 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -354,6 +354,13 @@ static int nfs_write_end(struct file *file, struct address_space *mapping, ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 01/37] KEYS: Increase the payload size when insta ...
Increase the size of a payload that can be used to instantiate a key in add_key() and keyctl_instantiate_key(). This permits huge CIFS SPNEGO blobs to be passed around. The limit is raised to 1MB. If kmalloc() can't allocate a buffer of sufficient size, vmalloc() will be tried instead. Signed-off-by: David Howells <dhowells@redhat.com> --- security/keys/keyctl.c | 38 ++++++++++++++++++++++++++++++-------- 1 files changed, 30 insertions(+), 8 deletions(-) diff --git ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 22/37] NFS: Add FS-Cache option bit and debug bit
Add FS-Cache option bit to nfs_server struct. This is set to indicate local on-disk caching is enabled for a particular superblock. Also add debug bit for local caching operations. Signed-off-by: David Howells <dhowells@redhat.com> --- include/linux/nfs_fs.h | 1 + include/linux/nfs_fs_sb.h | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index a69ba80..14894c9 100644 --- a/include/linux/nfs_fs.h +++ ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 13/37] FS-Cache: Provide an add_wait_queue_tail() ...
Provide an add_wait_queue_tail() function to add a waiter to the back of a wait queue instead of the front. Signed-off-by: David Howells <dhowells@redhat.com> --- include/linux/pagemap.h | 7 +++++-- include/linux/wait.h | 1 + kernel/wait.c | 18 ++++++++++++++++++ mm/filemap.c | 2 +- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index c5df3ae..ad9484f 100644 --- ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 15/37] CacheFiles: Add missing copy_page export f ...
This one-line patch fixes the missing export of copy_page introduced by the cachefile patches. This patch is not yet upstream, but is required for cachefile on ia64. It will be pushed upstream when cachefile goes upstream. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> --- arch/ia64/kernel/ia64_ksyms.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/ia64/kernel/ia64_ksyms.c ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 07/37] Security: De-embed task security record fr ...
Remove the temporarily embedded task security record from task_struct. Instead it is made to dangle from the task_struct::sec and task_struct::act_as pointers with references counted for each. do_coredump() is made to create a copy of the security record, modify it and then use that to override the main one for a task. sys_faccessat() is made to do the same. The process and session keyrings are moved from signal_struct into a new thread_group_security struct. This is then refcounted, with ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 11/37] FS-Cache: Release page->private after fail ...
The attached patch causes read_cache_pages() to release page-private data on a page for which add_to_page_cache() fails or the filler function fails. This permits pages with caching references associated with them to be cleaned up. The invalidatepage() address space op is called (indirectly) to do the honours. Signed-off-by: David Howells <dhowells@redhat.com> --- mm/readahead.c | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) diff ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 27/37] NFS: Define and create inode-level cache objects
Define and create inode-level cache data storage objects (as managed by nfs_inode structs). Each inode-level object is created in a superblock-level index object and is itself a data storage object into which pages from the inode are stored. The inode object key is the NFS file handle for the inode. The inode object is given coherency data to carry in the auxiliary data permitted by the cache. This is a sequence made up of: (1) i_mtime from the NFS inode. (2) i_ctime from the NFS ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 17/37] CacheFiles: Add a hook to write a single p ...
Add an address space operation to write one single page of data to an inode at a page-aligned location (thus permitting the implementation to be highly optimised). The data source is a single page. This is used by CacheFiles to store the contents of netfs pages into their backing file pages. Supply a generic implementation for this that uses the write_begin() and write_end() address_space operations to bind a copy directly into the page cache. Hook the Ext2 and Ext3 operations to the ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 33/37] NFS: nfs_readpage_async() needs to be acce ...
nfs_readpage_async() needs to be non-static so that it can be used as a fallback for the local on-disk caching should an EIO crop up when reading the cache. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/read.c | 4 ++-- include/linux/nfs_fs.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 3d7d963..725a5a2 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c @@ -114,8 +114,8 @@ static void ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 25/37] NFS: Define and create server-level objects
Define and create server-level cache index objects (as managed by nfs_client structs). Each server object is created in the NFS top-level index object and is itself an index into which superblock-level objects are inserted. Ideally there would be one superblock-level object per server, and the former would be folded into the latter; however, since the "nosharecache" option exists this isn't possible. The server object key is a sequence consisting of: (1) NFS version (2) Server ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 32/37] NFS: Add read context retention for FS-Cac ...
Add read context retention so that FS-Cache can call back into NFS when a read operation on the cache fails EIO rather than reading data. This permits NFS to then fetch the data from the server instead using the appropriate security context. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/fscache-index.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/fs/nfs/fscache-index.c b/fs/nfs/fscache-index.c index eec8e7e..af9f06b ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 12/37] FS-Cache: Recruit a couple of page flags f ...
Recruit a couple of page flags to aid in cache management. The following extra flags are defined: (1) PG_fscache (PG_private_2) The marked page is backed by a local cache and is pinning resources in the cache driver. (2) PG_fscache_write (PG_owner_priv_2) The marked page is being written to the local cache. The page may not be modified whilst this is in progress. If PG_fscache is set, then things that checked for PG_private will now also check for that. This ...
Feb 20, 9:07 am 2008
David Howells
[PATCH 04/37] KEYS: Add keyctl function to get a securit ...
Add a keyctl() function to get the security label of a key. The following is added to Documentation/keys.txt: (*) Get the LSM security context attached to a key. long keyctl(KEYCTL_GET_SECURITY, key_serial_t key, char *buffer, size_t buflen) This function returns a string that represents the LSM security context attached to a key in the buffer provided. Unless there's an error, it always returns the amount of data it could produce, even if that's too big for ...
Feb 20, 9:06 am 2008
David Howells
Re: [PATCH 00/37] Permit filesystem local caching
It's the largest of the patches, so that's not entirely surprising. Hence why I hope that the performance impact is minimal. The kernel should spend very Thanks. David -
Feb 20, 1:11 pm 2008
David Howells
[PATCH 37/37] NFS: Add mount options to enable local cac ...
Add NFS mount options to allow the local caching support to be enabled. The attached patch makes it possible for the NFS filesystem to be told to make use of the network filesystem local caching service (FS-Cache). To be able to use this, a recent nfsutils package is required. There are three variant NFS mount options that can be added to a mount command to control caching for a mount. Only the last one specified takes effect: (*) Adding "fsc" will request caching. (*) Adding ...
Feb 20, 9:09 am 2008
David Howells
[PATCH 36/37] NFS: Display local caching state
Display the local caching state in /proc/fs/nfsfs/volumes. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/client.c | 7 ++++--- fs/nfs/fscache.h | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 51e9346..d67d52f 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -1451,7 +1451,7 @@ static int nfs_volume_list_show(struct seq_file *m, void *v) /* display header on line 1 */ if (v ...
Feb 20, 9:09 am 2008
David Howells
[PATCH 35/37] NFS: Store pages from an NFS inode into a ...
Store pages from an NFS inode into the cache data storage object associated with that inode. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/fscache.c | 26 ++++++++++++++++++++++++++ fs/nfs/fscache.h | 16 ++++++++++++++++ fs/nfs/read.c | 5 +++++ 3 files changed, 47 insertions(+), 0 deletions(-) diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c index 438cc9b..50ae70f 100644 --- a/fs/nfs/fscache.c +++ b/fs/nfs/fscache.c @@ -456,3 +456,29 @@ int ...
Feb 20, 9:09 am 2008
David Howells
[PATCH 09/37] Security: Allow kernel services to overrid ...
Allow kernel services to override LSM settings appropriate to the actions performed by a task by duplicating a security record, modifying it and then using task_struct::act_as to point to it when performing operations on behalf of a task. This is used, for example, by CacheFiles which has to transparently access the cache on behalf of a process that thinks it is doing, say, NFS accesses with a potentially inappropriate (with respect to accessing the cache) set of security data. This patch ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 31/37] NFS: FS-Cache page management
FS-Cache page management for NFS. This includes hooking the releasing and invalidation of pages marked with PG_fscache (aka PG_private_2) and waiting for completion of the write-to-cache flag (PG_fscache_write aka PG_owner_priv_2). Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/file.c | 17 +++++++++++++---- fs/nfs/fscache.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/fscache.h | 22 ++++++++++++++++++++++ 3 files changed, 84 insertions(+), 4 ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 28/37] NFS: Use local disk inode cache
Bind data storage objects in the local cache to NFS inodes. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/nfs/fscache.c | 131 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/fscache.h | 19 +++++++ fs/nfs/inode.c | 39 ++++++++++++-- include/linux/nfs_fs.h | 10 ++++ 4 files changed, 193 insertions(+), 6 deletions(-) diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c index cbd09f0..c0e0320 100644 --- a/fs/nfs/fscache.c +++ ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 02/37] KEYS: Check starting keyring as part of search
Check the starting keyring as part of the search to (a) see if that is what we're searching for, and (b) to check it is still valid for searching. The scenario: User in process A does things that cause things to be created in its process session keyring. The user then does an su to another user and starts a new process, B. The two processes now share the same process session keyring. Process B does an NFS access which results in an upcall to gssd. When gssd attempts to instantiate the ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 03/37] KEYS: Allow the callout data to be passed ...
Allow the callout data to be passed as a blob rather than a string for internal kernel services that call any request_key_*() interface other than request_key(). request_key() itself still takes a NUL-terminated string. The functions that change are: request_key_with_auxdata() request_key_async() request_key_async_with_auxdata() Signed-off-by: David Howells <dhowells@redhat.com> --- Documentation/keys-request-key.txt | 11 +++++--- Documentation/keys.txt | 14 ...
Feb 20, 9:06 am 2008
Serge E. Hallyn
Re: [PATCH 00/37] Permit filesystem local caching
Seems *really* weird that every time you send this, patch 6 doesn't seem to reach me in any of my mailboxes... (did get it from the url you listed) I'm sorry if I miss where you explicitly state this, but is it safe to assume, as perusing the patches suggests, that 1. tsk->sec never changes other than in task_alloc_security()? 2. tsk->act_as is only ever dereferenced from (a) current-> except (b) in do_coredump? (thereby carefully avoiding locking issues) I'd still like to ...
Feb 20, 12:58 pm 2008
David Howells
[PATCH 10/37] Security: Make NFSD work with detached security
Make NFSD work with detached security, using the patches that excise the security information from task_struct to struct task_security as a base. Each time NFSD wants a new security descriptor (to do NFS4 recovery or just to do NFS operations), a task_security record is derived from NFSD's *objective* security, modified and then applied as the *subjective* security. This means (a) the changes are not visible to anyone looking at NFSD through /proc, (b) there is no leakage between two ...
Feb 20, 9:06 am 2008
David Howells
[PATCH 26/37] NFS: Define and create superblock-level objects
Define and create superblock-level cache index objects (as managed by nfs_server structs). Each superblock object is created in a server level index object and is itself an index into which inode-level objects are inserted. Ideally there would be one superblock-level object per server, and the former would be folded into the latter; however, since the "nosharecache" option exists this isn't possible. The superblock object key is a sequence consisting of: (1) Certain superblock ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 23/37] NFS: Permit local filesystem caching to be ...
Permit local filesystem caching to be enabled for NFS in the kernel configuration. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/Kconfig | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/fs/Kconfig b/fs/Kconfig index c42ec50..fa8e978 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -1644,6 +1644,14 @@ config NFS_V4 If unsure, say N. +config NFS_FSCACHE + bool "Provide NFS client caching support (EXPERIMENTAL)" + depends on ...
Feb 20, 9:08 am 2008
David Howells
[PATCH 05/37] Security: Change current->fs[ug]id to curr ...
Change current->fs[ug]id to current_fs[ug]id() so that fsgid and fsuid can be separated from the task_struct. Signed-off-by: David Howells <dhowells@redhat.com> --- arch/ia64/kernel/perfmon.c | 4 ++-- arch/powerpc/platforms/cell/spufs/inode.c | 4 ++-- drivers/isdn/capi/capifs.c | 4 ++-- drivers/usb/core/inode.c | 4 ++-- fs/9p/fid.c | 2 +- fs/9p/vfs_inode.c | 4 ++-- ...
Feb 20, 9:06 am 2008
Matthew Wilcox
Re: how to show propagation state for mounts
Why do those last two questions deserve an answer? How will a person's or application's behaviour be affected by whether a change will propagate to something they don't know about and can't see? -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -
Feb 20, 9:31 am 2008
Ram Pai
Re: how to show propagation state for mounts
I wonder, what is wrong in reporting mounts in other namespaces that either receive and send propagation to mounts in our namespace? If we take that approach, we will report **only** the mounts in other namespace which have a counter part in our namespace. After all the filesystems backing the mounts here and there are the same(other wise they would'nt have propagated). And any mounts contained outside our namespace, having no propagation relation to any mounts in our namespace, will remain ...
Feb 20, 12:29 pm 2008
Miklos Szeredi
how to show propagation state for mounts
Here's my take on the matter. The propagation tree can be either be represented 1) "from root to leaf" listing members of peer groups and their slaves explicitly, 2) or "from leaf to root" by identifying each peer group and then for each mount showing the id of its own group and the id of the group's master. 2) can have two variants: 2a) id of peer group is constant in time 2b) id of peer group may change The current patch does 2b). Having a fixed id for each peer ...
Feb 20, 8:39 am 2008
Miklos Szeredi
Re: how to show propagation state for mounts
This sounds fine. I'll have a look at implementing a stable peer group ID (it doesn't need a separate object, I realized that now). Miklos -
Feb 20, 2:35 pm 2008
Al Viro
Re: how to show propagation state for mounts
Eh... Much more interesting question: since the propagation tree spans multiple namespaces in a lot of normal uses, how do we deal with reconstructing propagation through the parts that are not present in our namespace? Moreover, what should and what should not be kept private to namespace? Full exposure of mount trees is definitely over the top (it shows potentially sensitive information), so we probably want less than that. FWIW, my gut feeling is that for each peer group that intersects ...
Feb 20, 9:04 am 2008
Al Viro
Re: how to show propagation state for mounts
A plenty. E.g. if foo trusts control over /var/blah to bar, it's not obvious that foo has any business knowing if bar gets it from somebody else in turn. And I'm not sure that bar has any business knowing that foo has the damn thing attached in five places instead of just one, let alone _where_ it has been attached. If you get down to it, the thing is about delegating control over part of namespace to somebody, without letting them control, see, etc. the rest of it. So I'd rather be very ...
Feb 20, 2:14 pm 2008
Ram Pai
Re: how to show propagation state for mounts
Well, I do not want to be surprised to see a mount suddenly show up in my namespace because of some action by some other user in some other namespace. Its going to happen anyway if the namespace is forked of a namespace that had shared mounts in them. However I would rather prefer to know in advance the spots (mounts) where such surprises can happen. Also I would prefer to know how my actions will effect mounts in other namespaces. -
Feb 20, 12:42 pm 2008
Miklos Szeredi
Re: how to show propagation state for mounts
Well, assuming you see only one namespace. When I'm experimenting with namespaces and propagations, I see both (each in a separate xterm) and I do want to know how propagation between them happens. Your suggestion doesn't deal with that problem. Otherwise, yes it makes sense to have a consistent view of the tree shown for each namespace. Perhaps the solution is to restrict viewing the whole tree to privileged processes. Miklos -
Feb 20, 9:27 am 2008
Eric Paris
Re: NFS/LSM: allow NFS to control all of its own mount options
It was. I already knew about this issue and its 'on my list.' Although I guess we need a something ?new LSM hook? which will translate the sb_get_mnt_opts stuff into a single text string. Or I guess really that can be done in you sb_show_options and I can just use sb_get_mnt_opts under the covers. Anyway, unrelated issue that will get fixed as soon as this real BUG() is fixed. -Eric -
Feb 20, 6:56 am 2008
Miklos Szeredi
Re: NFS/LSM: allow NFS to control all of its own mount options
Hmm, looks like selinux is not showing it's mount options in /proc/mounts. Well, actually there's no infrastructure for it either. Here's a template patch (completely untested). Selinux guys, please fill in the details and submit, thanks. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Index: linux/fs/namespace.c =================================================================== --- linux.orig/fs/namespace.c 2008-02-20 10:51:11.000000000 +0100 +++ linux/fs/namespace.c 2008-02-20 ...
Feb 20, 3:08 am 2008
Stephen Smalley
Re: NFS/LSM: allow NFS to control all of its own mount options
And to be clear: this patch fixes a real bug in the nfs/selinux interaction on nohide mounts, a bug that needs to be fixed upstream as soon as possible. A bug that was introduced by changes in nfs, not changes in selinux AFAIK, given that the original approach to context mounts was introduced and approved by nfs folks long ago. So regardless of what happens wrt the text mount options, this patch needs to get merged. -- Stephen Smalley National Security Agency -
Feb 20, 6:48 am 2008
James Morris
Re: NFS/LSM: allow NFS to control all of its own mount options
It's not so much a special case for NFS, just that NFS happens to use binary mount options. So, I guess it could be put into a library for other potential filesystems with binary mount options. To clarify: The SELinux options are indeed filesystem independent, and the FS should really not need to be concerned at all with them. For everything except NFS, we parse text options looking for context=, then use that value from within SELinux as the label for all files in the ...
Feb 19, 5:25 pm 2008
Stephen Smalley
Re: NFS/LSM: allow NFS to control all of its own mount options
I think the intent is to use the security_sb_get_mnt_opts() hook for -- Stephen Smalley National Security Agency -
Feb 20, 6:50 am 2008
Al Viro
Re: git tree with VFS stuff
FWIW, I must apologize for delay with getting the damn tree open on kernel.org ;-/ The last couple of weeks had been Not Fun(tm) in a lot of respects. Hopefully I'll finish putting the damn thing into publishable shape by tomorrow. As for the stuff mentioned above... ro-bind series - definitely yes, mountinfo - IMO needs a sane discussion of what and how should be shown wrt propagation state, unprivileged mounts - in the "need to finish reviewing" pile. -
Feb 20, 7:29 am 2008
Stephen Rothwell
Re: git tree with VFS stuff
Hi Miklos, I don't think this is what we want to use linux-next for. Linux-next is really a place for stuff that will pretty clearly go into the next kernel release i.e. 2.6.26 right now. If you want to experiment on things for beyond that timeframe, then a snapshot of linux-next may be a good base. I will take them when they reach the appropriate subsystem tree and are ready for integration. --=20 Cheers, Stephen Rothwell sfr@canb.auug.org.au
Feb 20, 7:13 am 2008
Jan Engelhardt
Re: very poor ext3 write performance on big filesystems?
But GNU tar does not handle acls and xattrs. So back to rsync/cp/mv. -
Feb 20, 3:57 am 2008
David Rees
Re: very poor ext3 write performance on big filesystems?
Huh? The version of tar on my Fedora 8 desktop (tar-1.17-7) does. Just add the --xattrs option (which turns on --acls and --selinux). -Dave -
Feb 20, 10:44 am 2008
Jan Engelhardt
Re: very poor ext3 write performance on big filesystems?
Yeah they probably whipped it up with some patches. $ tar --xattrs tar: unrecognized option `--xattrs' Try `tar --help' or `tar --usage' for more information. $ tar --acl tar: unrecognized option `--acl' Try `tar --help' or `tar --usage' for more information. $ rpm -q tar tar-1.17-21 (Not everything that runs rpm is a fedorahat, though) -
Feb 20, 11:08 am 2008
Paul Jackson
Re: [PATCH 0/8][for -mm] mem_notify v6
Er eh -- which one? The only one I see that might help keep a multi-threaded job using various kinds of memory on multiple nodes confined could be the resident set size (RLIMIT_RSS; ulimit -m). So far as I can tell, that one is a pure no-op in Linux. Here's the bash list of all available ulimit (setrlimit) options: -a All current limits are reported -c The maximum size of core files created -d The maximum size of a process's data ...
Feb 19, 6:54 pm 2008
Rik van Riel
Re: [PATCH 0/8][for -mm] mem_notify v6
On Tue, 19 Feb 2008 23:28:28 +0100 I suspect one problem could be that an HPC job scheduling program does not know exactly how much memory each job can take, so it can sometimes end up making a mistake and overcommitting the memory on one HPC node. In that case the user is better off having that job killed and restarted elsewhere, than having all of the jobs on that node crawl to a halt due to swapping. Paul, is this guess correct? :) -- All rights reversed. -
Feb 19, 7:07 pm 2008
KOSAKI Motohiro
Re: [PATCH 0/8][for -mm] mem_notify v6
Yes. Fujitsu HPC middleware watching sum of memory consumption of the job and, if over-consumption happened, kill process and remove job schedule. I think that is common hpc requirement. but we watching to user defined memory limit, not swap. Thanks. -
Feb 19, 7:48 pm 2008
Paul Jackson
Re: [PATCH 0/8][for -mm] mem_notify v6
Not for the loads I focus on. Each job gets exclusive use of its own dedicated set of nodes, for the duration of the job. With that comes a quite specific upper limit on how much memory, in total, including node local kernel data, that job is allowed to use. One problem with swapping is that nodes aren't entirely isolated. They share buses, i/o channels, disk arms, kernel data cache lines and kernel locks with other nodes, running other jobs. A job thrashing its swap is a drag on the rest ...
Feb 19, 9:36 pm 2008
Paul Jackson
Re: [PATCH 0/8][for -mm] mem_notify v6
Did those jobs share nodes -- sometimes two or more jobs using the same nodes? I am sure SGI has such users too, though such job mixes make the runtimes of specific jobs less obvious, so customers are more tolerant of variations and some inefficiencies, as they get hidden in the mix. In other words, Rik, both yes and no ;). Both sorts of HPC loads exist, sharing nodes and a dedicated set of nodes for each job. -- I won't rest till it's the best ... ...
Feb 19, 9:57 pm 2008
KOSAKI Motohiro
Re: [PATCH 0/8][for -mm] mem_notify v6
Hm our dedicated ndoe user set memory limit to machine physical memory size (minus a bit). I think don't have so much share/dedicate and watch user-defined/swap. am i misundestand? -
Feb 19, 10:21 pm 2008
Hugh Dickins
Re: unionfs_copy_attr_times oopses
I've now shaken it for 26 hours each on three machines, while running a few other tests (including LTP, with CONFIG_LOCKDEP=y) on another; used 2.6.25-rc2-mm1 plus your patches plus undo dependence on BROKEN. I took the precaution of running with my WARN_ONs reinstated in unionfs_copy_attr_times, i.e. int bindex, bend; struct inode *lower; struct inode **lower_inodes; if (!upper) return; bindex = ibstart(upper); if (bindex < 0) return; while (1) { bend = ...
Feb 19, 5:13 pm 2008
previous daytodaynext day
February 19, 2008February 20, 2008February 21, 2008