Jan Kara | 21 Oct 16:38 2014
Picon

[PATCH 0/12 v3] Moving i_dquot out of struct inode

  Hello,

  this patch set moves i_dquot array from struct inode into filesystem private
part of the inode. Thus filesystems which don't need it save 2 pointers in
their inodes (would be 3 after we add project quota support into generic
quota).

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

If people like the patches, I will queue this series into my tree for
the next merge window. For that I'd prefer to get acks from affected fs
maintainers (the changes are pretty trivial and I don't feel it's a must but
still I'd prefer fs maintainers to ack they are aware of the changes).

								Honza

Changes since v1:
* Inode field names are now named enum
* Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of
  opencoding shifts.

Changes since v2:
* Use ->get_dquots callback instead of inode fields framework
* rebased on Linus' tree as of 3.18-rc1 + something.

(Continue reading)

Jan Kara | 10 Oct 16:53 2014
Picon

Sorry for patch spam!

  Hello,

  I'm deeply sorry about the patch spam I set a while ago. I've
accidentally run git-send-email on a wrong directory...

								Honza
--

-- 
Jan Kara <jack <at> suse.cz>
SUSE Labs, CR

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
Jan Kara | 10 Oct 16:54 2014
Picon

[PATCH 0/12 v2] Moving i_dquot out of struct inode

  Hello,

  this patch set moves i_dquot array from struct inode into filesystem private
part of the inode. Thus filesystems which don't need it save 2 pointers in
their inodes (would be 3 after we add project quota support into generic
quota).

I have patches to move inode->i_data.private_list into filesystem private part
of the inode which is going to save another 2 pointers using the same
mechanism. However I didn't want to mix those in.

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

If noone has any objections, I'd like to queue this series into my tree for
the next merge window. For that I'd prefer to get acks from affected fs
maintainers (the changes are pretty trivial and I don't feel it's a must but
still I'd prefer fs maintainers to ack they are aware of the changes).

								Honza

Changes since v1:
* Inode field names are now named enum
* Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of
  opencoding shifts.

(Continue reading)

Jan Kara | 10 Oct 16:23 2014
Picon

[PATCH 0/2 v2] Fix data corruption when blocksize < pagesize for mmapped data

  Hello,

  this is a second version of the patches to fix data corruption in mmapped
data when blocksize < pagesize as tested by xfstests generic/030 test.
The patchset fixes XFS and ext4. I've checked and btrfs doesn't need fixing
because it doesn't support blocksize < pagesize. If that's ever going
to change btrfs will likely need a similar treatment. ocfs2, ext2, ext3 are
OK since they happily allocate blocks during writeback. For other filesystems
like gfs2, ubifs, nilfs, ceph,... I'm not sure whether they support blocksize <
pagesize at all. Interesting is also NFS which may care but I don't understand
its ->page_mkwrite() handler good enough to judge.

Changes since v1:
- changed helper function name and moved it to mm/truncate.c - I originally
  thought we can make the helper function update i_size to simplify the
  interface but it's actually impossible due to generic_write_end() lock
  ordering constraints.
- used round_up() instead of ALIGN()
- taught truncate_setsize() to use the helper function

								Honza

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
Jan Kara | 7 Oct 21:29 2014
Picon

Re: [PATCH 03/12] xfs: Set allowed quota types

On Tue 07-10-14 07:30:28, Dave Chinner wrote:
> On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote:
> > We support user, group, and project quotas. Tell VFS about it.
> > 
> > CC: xfs <at> oss.sgi.com
> > CC: Dave Chinner <david <at> fromorbit.com>
> > Signed-off-by: Jan Kara <jack <at> suse.cz>
> > ---
> >  fs/xfs/xfs_super.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> > index b194652033cd..b32e998e8cbc 100644
> > --- a/fs/xfs/xfs_super.c
> > +++ b/fs/xfs/xfs_super.c
> >  <at>  <at>  -1419,6 +1419,8  <at>  <at>  xfs_fs_fill_super(
> >  	sb->s_export_op = &xfs_export_operations;
> >  #ifdef CONFIG_XFS_QUOTA
> >  	sb->s_qcop = &xfs_quotactl_operations;
> > +	sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) |
> > +				    (1 << PRJQUOTA);
> 
> Would it be better to define masks for these rather than open
> coding these shifts everywhere?
  I can do that. Any suggestion for a name? I was thinking about it for a
while and couldn't come up with anything satisfactory...

								Honza
--

-- 
Jan Kara <jack <at> suse.cz>
(Continue reading)

Jan Kara | 1 Oct 21:31 2014
Picon

[PATCH 0/12 RFC] Moving i_dquot out of struct inode

  Hello,

  this patch set moves i_dquot array from struct inode into filesystem private
part of the inode. Thus filesystems which don't need it save 2 pointers in
their inodes (would be 3 after we add project quota support into generic
quota).

I have patches to move inode->i_data.private_list into filesystem private part
of the inode which is going to save another 2 pointers using the same
mechanism. However I didn't want to mix those in.

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

Comments are welcome.

								Honza

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
Geronimo Ma. Hernandez | 26 Jul 10:52 2014
Picon

rescue possible?

Hello,

I made a mistake during raid-administration, where I confused the backup disk 
with an empty disk.
Plugging the backup disk to the raid controller wiped out certain blocks.

After recoginzing my error, I attached the disk back to mainboard-plugs and 
with fdisk I created the old partition structure.
Right after fdisk it was possible to mount the partition without any error.
Only backside: the partition was empty.

fsck.jfs told me, the fs is clean.

Initially all data was in a subdirectory.

Is it possible, to restore some of the directory entries and so find the 
"saved" content, or is all lost?

Any hint will be very appreciated.

best regards

Gero

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
(Continue reading)

Dave Kleikamp | 4 Jun 14:58 2014
Picon

[GIT PULL] jfs changes for 3.16

Linus,
Please pull the following for 3.16.

The following changes since commit c9eaa447e77efe77b7fa4c953bd62de8297fd6c5:

  Linux 3.15-rc1 (2014-04-13 14:18:35 -0700)

are available in the git repository at:

  git://github.com/kleikamp/linux-shaggy.git tags/jfs-3.16

for you to fetch changes up to bb5e50aaa80564268f950d1b2f764455afbfea82:

  fs/jfs/super.c: convert simple_str to kstr (2014-06-03 14:14:00 -0500)

----------------------------------------------------------------
jfs patches for 3.16

----------------------------------------------------------------
Fabian Frederick (5):
      fs/jfs/jfs_inode.c: atomically set inode->i_flags
      fs/jfs/jfs_logmgr.c: remove NULL assignment on static
      fs/jfs/super.c: remove 0 assignment to static + code clean-up
      fs/jfs/jfs_dmap.c: replace min/casting by min_t
      fs/jfs/super.c: convert simple_str to kstr

William Burrow (1):
      JFS: Check for NULL before calling posix_acl_equiv_mode()

 fs/jfs/acl.c        | 16 ++++++-----
(Continue reading)

Christian Kujau | 5 May 10:25 2014
Picon

jfsutils: unknown type name int64_t

Hi,

while trying to compile jfsutils from CVS, this happens:

In file included from extract.c:32:0:
../libfs/devices.h:45:31: error: unknown type name ‘int64_t’
 int ujfs_get_dev_size(FILE *, int64_t * size);

This was reported last year on an LFS mailing list[0] and Armin provided a 
fix, adding sys/types.h to fscklog/extract.c:

--- fscklog/extract.c	2006-06-05 12:31:40.000000000 -0700
+++ fscklog/extract.c.new	2014-05-04 23:38:04.592917557 -0700
 <at>  <at>  -28,6 +28,7  <at>  <at> 
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/types.h>

 #include "devices.h"
 #include "diskmap.h"

While this may have been integrated into LFS, upstream still has this 
error. This happened on a Debian/stable x68_64 system, 4.8.2-16. The 
jfsutils build is very noisy anyway, full buildlog here:

  http://nerdbynature.de/bits/jfsutils/

Maybe Armin's solution can be applied to CVS?

(Continue reading)

Christian Wünsch | 14 Apr 01:13 2014
Picon

Issue with JFS losing files

Hi there!

I have been working on a very strange JFS-related problem for more
than 4 months now. I hope, you guys can help me fixing this finally...

So, I am developing a video cutting tool for an embedded device
(set-top-box) with Linux operationg system and JFS file system.
My tool uses a quite simple cutting routine, that has been built-in
into the firmware by the manufacturer.

Now, on a (very small) number of users it happens, that while cutting
a recorded video file, this file gets damaged in a mysterious way. All
files that are damaged this way get unrevocably erased during the next
execution of fsck.

On suchlike damaged files, jfs_fsck regularly reports an error like this one:
File system object FF4121 is linked as: /DataFiles/Tierärztin Dr.
Mertens (25).rec
cannot repair the data format error(s) in this file.
cannot repair FF4121.  Will release.

... and then it erases the file.

So, could you please give me a hint, what exactly is meant by this
error message?
And how could such a damage possibly be caused?

If you have any questions or need any further information or debugging
from me, please let me know!

(Continue reading)

Fabian Frederick | 2 Apr 19:29 2014
Picon

[PATCH 1/1] fs/jfs/jfs_inode.c: atomically set inode->i_flags

According to commit 00a1a053ebe5f
("ext4: atomically set inode->i_flags in ext4_set_inode_flags()")

Inspired-by: "Theodore Ts'o" <tytso <at> mit.edu>
Cc: jfs-discussion <at> lists.sourceforge.net
Cc: Andrew Morton <akpm <at> linux-foundation.org>
Signed-off-by: Fabian Frederick <fabf <at> skynet.be>
---
 fs/jfs/jfs_inode.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c
index 7f464c5..3309074 100644
--- a/fs/jfs/jfs_inode.c
+++ b/fs/jfs/jfs_inode.c
 <at>  <at>  -29,20 +29,20  <at>  <at> 
 void jfs_set_inode_flags(struct inode *inode)
 {
 	unsigned int flags = JFS_IP(inode)->mode2;
-
-	inode->i_flags &= ~(S_IMMUTABLE | S_APPEND |
-		S_NOATIME | S_DIRSYNC | S_SYNC);
+	unsigned int new_fl = 0;

 	if (flags & JFS_IMMUTABLE_FL)
-		inode->i_flags |= S_IMMUTABLE;
+		new_fl |= S_IMMUTABLE;
 	if (flags & JFS_APPEND_FL)
-		inode->i_flags |= S_APPEND;
+		new_fl |= S_APPEND;
(Continue reading)


Gmane