1. 18 12月, 2012 5 次提交
    • C
      docs: update documentation about /proc/<pid>/fdinfo/<fd> fanotify output · e71ec593
      Cyrill Gorcunov 提交于
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrey Vagin <avagin@openvz.org>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: James Bottomley <jbottomley@parallels.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Matthew Helsley <matt.helsley@gmail.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e71ec593
    • C
      docs: add documentation about /proc/<pid>/fdinfo/<fd> output · f1d8c162
      Cyrill Gorcunov 提交于
      [akpm@linux-foundation.org: tweak documentation]
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrey Vagin <avagin@openvz.org>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: James Bottomley <jbottomley@parallels.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Matthew Helsley <matt.helsley@gmail.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f1d8c162
    • K
      /proc/pid/status: add "Seccomp" field · 2f4b3bf6
      Kees Cook 提交于
      It is currently impossible to examine the state of seccomp for a given
      process.  While attaching with gdb and attempting "call
      prctl(PR_GET_SECCOMP,...)" will work with some situations, it is not
      reliable.  If the process is in seccomp mode 1, this query will kill the
      process (prctl not allowed), if the process is in mode 2 with prctl not
      allowed, it will similarly be killed, and in weird cases, if prctl is
      filtered to return errno 0, it can look like seccomp is disabled.
      
      When reviewing the state of running processes, there should be a way to
      externally examine the seccomp mode.  ("Did this build of Chrome end up
      using seccomp?" "Did my distro ship ssh with seccomp enabled?")
      
      This adds the "Seccomp" line to /proc/$pid/status.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Reviewed-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Acked-by: NSerge E. Hallyn <serge.hallyn@ubuntu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f4b3bf6
    • C
      procfs: add VmFlags field in smaps output · 834f82e2
      Cyrill Gorcunov 提交于
      During c/r sessions we've found that there is no way at the moment to
      fetch some VMA associated flags, such as mlock() and madvise().
      
      This leads us to a problem -- we don't know if we should call for mlock()
      and/or madvise() after restore on the vma area we're bringing back to
      life.
      
      This patch intorduces a new field into "smaps" output called VmFlags,
      where all set flags associated with the particular VMA is shown as two
      letter mnemonics.
      
      [ Strictly speaking for c/r we only need mlock/madvise bits but it has been
        said that providing just a few flags looks somehow inconsistent.  So all
        flags are here now. ]
      
      This feature is made available on CONFIG_CHECKPOINT_RESTORE=n kernels, as
      other applications may start to use these fields.
      
      The data is encoded in a somewhat awkward two letters mnemonic form, to
      encourage userspace to be prepared for fields being added or removed in
      the future.
      
      [a.p.zijlstra@chello.nl: props to use for_each_set_bit]
      [sfr@canb.auug.org.au: props to use array instead of struct]
      [akpm@linux-foundation.org: overall redesign and simplification]
      [akpm@linux-foundation.org: remove unneeded braces per sfr, avoid using bloaty for_each_set_bit()]
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      834f82e2
    • J
      fat: provide option for setting timezone offset · 58156c8f
      Jan Kara 提交于
      So far FAT either offsets time stamps by sys_tz.minuteswest or leaves them
      as they are (when tz=UTC mount option is used).  However in some cases it
      is useful if one can specify time stamp offset on his own (e.g.  when time
      zone of the camera connected is different from time zone of the computer,
      or when HW clock is in UTC and thus sys_tz.minuteswest == 0).
      
      So provide a mount option time_offset= which allows user to specify offset
      in minutes that should be applied to time stamps on the filesystem.
      
      akpm: this code would work incorrectly when used via `mount -o remount',
      because cached inodes would not be updated.  But fatfs's fat_remount() is
      basically a no-op anyway.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Acked-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      58156c8f
  2. 11 12月, 2012 4 次提交
    • H
      f2fs: fix a typo in f2fs documentation · d08ab08d
      Huajun Li 提交于
      In f2fs_fs.h, one f2fs inode contains 923 data block pointers, while
      f2fs documentation says it is 929. Fix this inconsistence.
      Signed-off-by: NHuajun Li <huajun.li.lee@gmail.com>
      d08ab08d
    • J
      f2fs: update the f2fs document · 5bb446a2
      Jaegeuk Kim 提交于
      I moved the f2fs-tools.git into kernel.org.
      And I added a new mailing list, linux-f2fs-devel@lists.sourceforge.net.
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      5bb446a2
    • J
      f2fs: add document · 98e4da8c
      Jaegeuk Kim 提交于
      This adds a document describing the mount options, proc entries, usage, and
      design of Flash-Friendly File System, namely F2FS.
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      98e4da8c
    • T
      ext4: Remove CONFIG_EXT4_FS_XATTR · 939da108
      Tao Ma 提交于
      Ted has sent out a RFC about removing this feature. Eric and Jan
      confirmed that both RedHat and SUSE enable this feature in all their
      product.  David also said that "As far as I know, it's enabled in all
      Android kernels that use ext4."  So it seems OK for us.
      
      And what's more, as inline data depends its implementation on xattr,
      and to be frank, I don't run any test again inline data enabled while
      xattr disabled.  So I think we should add inline data and remove this
      config option in the same release.
      
      [ The savings if you disable CONFIG_EXT4_FS_XATTR is only 27k, which
        isn't much in the grand scheme of things.  Since no one seems to be
        testing this configuration except for some automated compile farms, on
        balance we are better removing this config option, and so that it is
        effectively always enabled. -- tytso ]
      
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Eric Sandeen <sandeen@redhat.com>
      Reviewed-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NTao Ma <boyu.mt@taobao.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      939da108
  3. 27 11月, 2012 1 次提交
  4. 17 11月, 2012 1 次提交
  5. 03 11月, 2012 1 次提交
  6. 30 10月, 2012 1 次提交
  7. 09 10月, 2012 1 次提交
  8. 02 10月, 2012 1 次提交
    • C
      NFS: Add nfs4_unique_id boot parameter · 6f2ea7f2
      Chuck Lever 提交于
      An optional boot parameter is introduced to allow client
      administrators to specify a string that the Linux NFS client can
      insert into its nfs_client_id4 id string, to make it both more
      globally unique, and to ensure that it doesn't change even if the
      client's nodename changes.
      
      If this boot parameter is not specified, the client's nodename is
      used, as before.
      
      Client installation procedures can create a unique string (typically,
      a UUID) which remains unchanged during the lifetime of that client
      instance.  This works just like creating a UUID for the label of the
      system's root and boot volumes.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      6f2ea7f2
  9. 22 9月, 2012 1 次提交
  10. 18 9月, 2012 2 次提交
  11. 28 8月, 2012 1 次提交
  12. 22 8月, 2012 2 次提交
  13. 17 8月, 2012 1 次提交
    • T
      ext4: add max_dir_size_kb mount option · df981d03
      Theodore Ts'o 提交于
      Very large directories can cause significant performance problems, or
      perhaps even invoke the OOM killer, if the process is running in a
      highly constrained memory environment (whether it is VM's with a small
      amount of memory or in a small memory cgroup).
      
      So it is useful, in cloud server/data center environments, to be able
      to set a filesystem-wide cap on the maximum size of a directory, to
      ensure that directories never get larger than a sane size.  We do this
      via a new mount option, max_dir_size_kb.  If there is an attempt to
      grow the directory larger than max_dir_size_kb, the system call will
      return ENOSPC instead.
      
      Google-Bug-Id: 6863013
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      
      
      
      df981d03
  14. 04 8月, 2012 1 次提交
  15. 02 8月, 2012 1 次提交
  16. 01 8月, 2012 1 次提交
    • M
      mm: add support for a filesystem to activate swap files and use direct_IO for writing swap pages · 62c230bc
      Mel Gorman 提交于
      Currently swapfiles are managed entirely by the core VM by using ->bmap to
      allocate space and write to the blocks directly.  This effectively ensures
      that the underlying blocks are allocated and avoids the need for the swap
      subsystem to locate what physical blocks store offsets within a file.
      
      If the swap subsystem is to use the filesystem information to locate the
      blocks, it is critical that information such as block groups, block
      bitmaps and the block descriptor table that map the swap file were
      resident in memory.  This patch adds address_space_operations that the VM
      can call when activating or deactivating swap backed by a file.
      
        int swap_activate(struct file *);
        int swap_deactivate(struct file *);
      
      The ->swap_activate() method is used to communicate to the file that the
      VM relies on it, and the address_space should take adequate measures such
      as reserving space in the underlying device, reserving memory for mempools
      and pinning information such as the block descriptor table in memory.  The
      ->swap_deactivate() method is called on sys_swapoff() if ->swap_activate()
      returned success.
      
      After a successful swapfile ->swap_activate, the swapfile is marked
      SWP_FILE and swapper_space.a_ops will proxy to
      sis->swap_file->f_mappings->a_ops using ->direct_io to write swapcache
      pages and ->readpage to read.
      
      It is perfectly possible that direct_IO be used to read the swap pages but
      it is an unnecessary complication.  Similarly, it is possible that
      ->writepage be used instead of direct_io to write the pages but filesystem
      developers have stated that calling writepage from the VM is undesirable
      for a variety of reasons and using direct_IO opens up the possibility of
      writing back batches of swap pages in the future.
      
      [a.p.zijlstra@chello.nl: Original patch]
      Signed-off-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Eric B Munson <emunson@mgebm.net>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Xiaotian Feng <dfeng@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      62c230bc
  17. 31 7月, 2012 1 次提交
  18. 14 7月, 2012 8 次提交
    • A
      don't pass nameidata to ->create() · ebfc3b49
      Al Viro 提交于
      boolean "does it have to be exclusive?" flag is passed instead;
      Local filesystem should just ignore it - the object is guaranteed
      not to be there yet.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ebfc3b49
    • A
      stop passing nameidata to ->lookup() · 00cd8dd3
      Al Viro 提交于
      Just the flags; only NFS cares even about that, but there are
      legitimate uses for such argument.  And getting rid of that
      completely would require splitting ->lookup() into a couple
      of methods (at least), so let's leave that alone for now...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      00cd8dd3
    • A
      stop passing nameidata * to ->d_revalidate() · 0b728e19
      Al Viro 提交于
      Just the lookup flags.  Die, bastard, die...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      0b728e19
    • A
      kill struct opendata · 30d90494
      Al Viro 提交于
      Just pass struct file *.  Methods are happier that way...
      There's no need to return struct file * from finish_open() now,
      so let it return int.  Next: saner prototypes for parts in
      namei.c
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      30d90494
    • A
      make ->atomic_open() return int · d9585277
      Al Viro 提交于
      Change of calling conventions:
      old		new
      NULL		1
      file		0
      ERR_PTR(-ve)	-ve
      
      Caller *knows* that struct file *; no need to return it.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d9585277
    • A
      ->atomic_open() prototype change - pass int * instead of bool * · 47237687
      Al Viro 提交于
      ... and let finish_open() report having opened the file via that sucker.
      Next step: don't modify od->filp at all.
      
      [AV: FILE_CREATE was already used by cifs; Miklos' fix folded]
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      47237687
    • M
      vfs: add i_op->atomic_open() · d18e9008
      Miklos Szeredi 提交于
      Add a new inode operation which is called on the last component of an open.
      Using this the filesystem can look up, possibly create and open the file in one
      atomic operation.  If it cannot perform this (e.g. the file type turned out to
      be wrong) it may signal this by returning NULL instead of an open struct file
      pointer.
      
      i_op->atomic_open() is only called if the last component is negative or needs
      lookup.  Handling cached positive dentries here doesn't add much value: these
      can be opened using f_op->open().  If the cached file turns out to be invalid,
      the open can be retried, this time using ->atomic_open() with a fresh dentry.
      
      For now leave the old way of using open intents in lookup and revalidate in
      place.  This will be removed once all the users are converted.
      
      David Howells noticed that if ->atomic_open() opens the file but does not create
      it, handle_truncate() will be called on it even if it is not a regular file.
      Fix this by checking the file type in this case too.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d18e9008
    • A
      vfs: update documentation on ->i_dentry handling · 049b3c10
      Al Viro 提交于
      we used to need to clean it in RCU callback freeing an inode;
      in 3.2 that requirement went away.  Unfortunately, it hadn't
      been reflected in Documentation/filesystems/porting.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      049b3c10
  19. 02 6月, 2012 1 次提交
    • J
      fs: introduce inode operation ->update_time · c3b2da31
      Josef Bacik 提交于
      Btrfs has to make sure we have space to allocate new blocks in order to modify
      the inode, so updating time can fail.  We've gotten around this by having our
      own file_update_time but this is kind of a pain, and Christoph has indicated he
      would like to make xfs do something different with atime updates.  So introduce
      ->update_time, where we will deal with i_version an a/m/c time updates and
      indicate which changes need to be made.  The normal version just does what it
      has always done, updates the time and marks the inode dirty, and then
      filesystems can choose to do something different.
      
      I've gone through all of the users of file_update_time and made them check for
      errors with the exception of the fault code since it's complicated and I wasn't
      quite sure what to do there, also Jan is going to be pushing the file time
      updates into page_mkwrite for those who have it so that should satisfy btrfs and
      make it not a big deal to check the file_update_time() return code in the
      generic fault path. Thanks,
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      c3b2da31
  20. 01 6月, 2012 2 次提交
  21. 30 5月, 2012 2 次提交
  22. 25 5月, 2012 1 次提交