xfs
[Top] [All Lists]

[PATCH]: Shell script for printing XFS quota project id for files.

To: xfs@xxxxxxxxxxx
Subject: [PATCH]: Shell script for printing XFS quota project id for files.
From: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Date: Mon, 12 Nov 2012 19:33:55 +0100
Cc: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:cc:subject:date:message-id:x-mailer:mime-version :content-type:content-transfer-encoding; bh=hkH8u6f2QY+9/WdpxxVZ9U3KQSV7CqiskNeh8g6xgqU=; b=AlXDWzOtGwCchk4d27UfcWWIhvWwThwNIwcx5HOztcinVIQljBK1Ee9peEj6kFNhaS z0hqgIdd5vs/JpoOpRxYdWsDVoCwZiuuJzuSMSp2bTNzAvRDd//xtb+rpPCMeO05rnpt QjUBv30N1dE5wP4zLEp1TH4TU+gnVvclw/t3Y=
Simple script that prints project id for files:

$ sh quota/xfs_lsprojid.sh quota/[fl]*
quota/freebsd.c: 232
quota/free.c: 0
quota/free.o: 222
quota/linux.c: 21344
quota/linux.o: 0

Signed-off-by: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
---
 man/man8/xfs_lsprojid.8 | 9 +++++++++
 quota/Makefile          | 4 +++-
 quota/xfs_lsprojid.sh   | 9 +++++++++
 3 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 man/man8/xfs_lsprojid.8
 create mode 100644 quota/xfs_lsprojid.sh

diff --git a/man/man8/xfs_lsprojid.8 b/man/man8/xfs_lsprojid.8
new file mode 100644
index 0000000..3ea7ce9
--- /dev/null
+++ b/man/man8/xfs_lsprojid.8
@@ -0,0 +1,9 @@
+.TH xfs_lsprojid 8
+.SH NAME
+xfs_lsprojid \- print XFS project id for files
+.SH SYNOPSIS
+.B xfs_lsprojid
+.IR filename " ..."
+.SH DESCRIPTION
+.B xfs_lsprojid
+displays quota project id for specified files.
diff --git a/quota/Makefile b/quota/Makefile
index 9c6411e..d813005 100644
--- a/quota/Makefile
+++ b/quota/Makefile
@@ -12,7 +12,8 @@ CFILES = init.c util.c \
 
 CFILES += $(PKG_PLATFORM).c
 PCFILES = darwin.c freebsd.c irix.c linux.c
-LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
+LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g") \
+       xfs_lsprojid.sh
 
 LLDLIBS = $(LIBXCMD)
 LTDEPENDENCIES = $(LIBXCMD)
@@ -35,6 +36,7 @@ include $(BUILDRULES)
 install: default
        $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
        $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+       $(INSTALL) -m 755 xfs_lsprojid.sh $(PKG_SBIN_DIR)/xfs_lsprojid
 install-dev:
 
 -include .dep
diff --git a/quota/xfs_lsprojid.sh b/quota/xfs_lsprojid.sh
new file mode 100644
index 0000000..4404de5
--- /dev/null
+++ b/quota/xfs_lsprojid.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Copyright (c) 2011 Arkadiusz Miśkiewicz.
+#
+
+xfs_io -p "$0" -c "stat" $@ | awk '
+/^fd\.path =/ { projid=""; path=$3; gsub(/^\"/, "", path); gsub(/\"$/, "", 
path); }
+/^fsxattr\.projid =/ { projid=$3; print path ": " projid; }
+'
-- 
1.8.0

<Prev in Thread] Current Thread [Next in Thread>